Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Microsoft.Testing.Platform jest uproszczoną i przenośną alternatywą dla vsTest do uruchamiania testów w wierszu polecenia, w potokach ciągłej integracji (CI) w Eksploratorze testów programu Visual Studio i w programie Visual Studio Code. W tym artykule przedstawiono kluczowe różnice między microsoft.Testing.Platform i programem VSTest.
Różnice w wykonywaniu testów
Testy są wykonywane na różne sposoby w zależności od uruchamiacza.
Wykonywanie testów VSTest
Program VSTest jest dostarczany z programem Visual Studio, zestawem SDK platformy .NET i jako autonomicznym narzędziem w pakiecie Microsoft.TestPlatform NuGet. Program VSTest używa pliku wykonywalnego uruchamiającego do uruchamiania testów o nazwie vstest.console.exe, który może być używany bezpośrednio lub za pośrednictwem dotnet test.
Wykonywanie testów Microsoft.Testing.Platform
Microsoft.Testing.Platform jest osadzony bezpośrednio w projekcie testowym i nie dostarcza żadnych dodatkowych plików wykonywalnych. Po uruchomieniu pliku wykonywalnego projektu testy są uruchamiane. Aby uzyskać więcej informacji na temat uruchamiania testów Microsoft.Testing.Platform, zobacz Microsoft.Testing.Platform overview: Run and debug tests(Omówienie uruchamiania i debugowania testów).
Przestrzenie nazw i pakiety NuGet
Aby zapoznać się z Microsoft.Testing.Platform i narzędziem VSTest, warto zrozumieć przestrzenie nazw i pakiety NuGet, które są używane przez każdy z nich.
Przestrzenie nazw VSTest
VSTest to kolekcja narzędzi do testowania, które są również nazywane platformą testową . Kod źródłowy VSTest jest typu open source i dostępny w repozytorium microsoft/vstest GitHub. Kod używa przestrzeni nazw Microsoft.TestPlatform.*.
Program VSTest jest rozszerzalny, a typy znajdują się w pakiecie Microsoft.TestPlatform.ObjectModel NuGet.
Przestrzenie nazw Microsoft.Testing.Platform
Microsoft.Testing.Platform jest oparty na pakiecie NuGet Microsoft.Testing.Platform i innych bibliotekach w przestrzeni nazw Microsoft.Testing.*. Podobnie jak vsTest, Microsoft.Testing.Platform jest open source i ma microsoft/testfx repozytorium GitHub.
Protokół komunikacyjny
Notatka
Eksplorator testów programu Visual Studio obsługuje protokół Microsoft.Testing.Platform od wersji 17.12. Jeśli uruchamiasz/debugujesz testy przy użyciu wcześniejszych wersji programu Visual Studio, Eksplorator testów użyje vstest.console.exe i starego protokołu do uruchamiania tych testów.
Microsoft.Testing.Platform używa protokołu opartego na JSON-RPC do komunikacji między programem Visual Studio a procesem modułu uruchamiającego testy. Protokół jest udokumentowany w repozytorium MSTest GitHub.
Program VSTest używa również protokołu komunikacyjnego opartego na formacie JSON, ale nie jest oparty na JSON-RPC.
Wyłączanie nowego protokołu
Aby wyłączyć korzystanie z nowego protokołu w Eksploratorze testów, możesz edytować projekt, aby dodać następującą właściwość: <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>.
Możesz również przejść do opcji Funkcje w wersji zapoznawczej w programie Visual Studio i usunąć zaznaczenie opcji "Użyj trybu serwera platformy testowej".
Pliki wykonywalne
Program VSTest dostarcza wiele plików wykonywalnych, w szczególności vstest.console.exe, testhost.exei datacollector.exe. Jednak platforma Microsoft.Testing.Platform jest osadzona bezpośrednio w projekcie testowym i nie dostarcza żadnych innych plików wykonywalnych. Plik wykonywalny kompilowany w projekcie testowym służy do hostowania wszystkich narzędzi do testowania i wykonywania wszystkich zadań wymaganych do uruchamiania testów.