Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft.Testing.Platform è un'alternativa leggera e portabile a VSTest per l'esecuzione di test nella riga di comando, nelle pipeline di integrazione continua (CI), in Esplora test di Visual Studio e in Visual Studio Code. In questo articolo vengono illustrate le differenze principali tra Microsoft.Testing.Platform e VSTest.
Differenze nell'esecuzione dei test
I test vengono eseguiti in modalità diverse a seconda del runner.
Eseguire test VSTest
VSTest viene fornito con Visual Studio, .NET SDK e come strumento autonomo nel pacchetto NuGet Microsoft.TestPlatform. VSTest utilizza un eseguibile runner per eseguire i test, chiamato vstest.console.exe, che può essere utilizzato direttamente o tramite dotnet test.
Eseguire test Di Microsoft.Testing.Platform
Microsoft.Testing.Platform è incorporato direttamente nel progetto di test e non include file eseguibili aggiuntivi. Quando si esegue il file eseguibile del progetto, i test vengono eseguiti. Per altre informazioni sull'esecuzione di test Microsoft.Testing.Platform, vedere panoramica di Microsoft.Testing.Platform: Eseguire ed eseguire test di debug.
Spazi dei nomi e pacchetti NuGet
Per acquisire familiarità con Microsoft.Testing.Platform e VSTest, è utile comprendere i namespace e i pacchetti NuGet utilizzati da ciascuno.
Namespace VSTest
VSTest è una raccolta di strumenti di test noti anche come piattaforma di test . Il codice sorgente VSTest è open source e disponibile nel repository GitHub microsoft/vstest. Il codice usa lo spazio dei nomi Microsoft.TestPlatform.*.
VSTest è estendibile e i tipi comuni vengono inseriti in pacchetto Microsoft.TestPlatform.ObjectModel NuGet.
Namespace Microsoft.Testing.Platform
Microsoft.Testing.Platform si basa sul pacchetto NuGet Microsoft.Testing.Platform e su altre librerie nel namespace Microsoft.Testing.*. Come VSTest, il Microsoft.Testing.Platform è open source e ha un microsoft/testfx repository GitHub.
Protocollo di comunicazione
Nota
Esplora test di Visual Studio supporta il protocollo Microsoft.Testing.Platform a partire dalla versione 17.12. Se si eseguono o si esegue il debug dei test usando versioni precedenti di Visual Studio, Esplora test userà vstest.console.exe e il protocollo precedente per eseguire questi test.
Microsoft.Testing.Platform usa un protocollo basato su JSON-RPC per comunicare tra Visual Studio e il processo di test runner. Il protocollo è documentato nel repository GitHub MSTest.
VSTest usa anche un protocollo di comunicazione basato su JSON, ma non è basato su JSON-RPC.
Disabilitazione del nuovo protocollo
Per disabilitare l'uso del nuovo protocollo in Esplora test, è possibile modificare il progetto per aggiungere la proprietà seguente: <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>.
È anche possibile passare a Opzioni funzionalità di anteprima in Visual Studio e deselezionare l'opzione "Usa modalità server della piattaforma di test".
Eseguibili
VSTest fornisce più eseguibili, in particolare vstest.console.exe, testhost.exee datacollector.exe. Tuttavia, Microsoft.Testing.Platform è incorporato direttamente nel progetto di test e non include altri file eseguibili. Il file eseguibile compilato dal progetto di test in viene usato per ospitare tutti gli strumenti di test ed eseguire tutte le attività necessarie per eseguire i test.