Sdílet prostřednictvím


Porovnání Microsoft.Testing.Platform a VSTest

Microsoft.Testing.Platform je jednoduchá a přenosná alternativa VSTest pro spouštění testů na příkazovém řádku, v kanálech kontinuální integrace (CI), v Průzkumníku testů sady Visual Studio a v editoru Visual Studio Code. V tomto článku se dozvíte hlavní rozdíly mezi Microsoft.Testing.Platform a VSTest.

Rozdíly v provádění testů

Testy se provádějí různými způsoby v závislosti na spouštěči.

Spouštění testů VSTest

VSTest se dodává se sadou Visual Studio, sadou .NET SDK a jako samostatný nástroj v balíčku NuGet Microsoft.TestPlatform. VSTest používá spustitelný soubor spouštěče ke spouštění testů s názvem vstest.console.exe, který lze použít přímo nebo prostřednictvím dotnet test.

Spouštění testů Microsoft.Testing.Platform

Microsoft.Testing.Platform je vložený přímo do testovacího projektu a nepřidává žádné další spustitelné soubory. Při spuštění spustitelného souboru projektu se testy spustí. Další informace o spouštění testů Microsoft.Testing.Platform naleznete v tématu Microsoft.Testing.Platform overview: Spuštění a ladění testů.

Jmenné prostory a balíčky NuGet

Pokud se chcete seznámit s Microsoft.Testing.Platform a VSTestem, je užitečné pochopit obory názvů a balíčky NuGet, které jsou používány jednotlivými balíčky.

Jmenné prostory VSTest

VSTest je sada testovacích nástrojů, které jsou také známé jako platforma pro testování. Zdrojový kód VSTest je opensourcový a dostupný v úložišti microsoft/vstest GitHubu. Kód používá obor názvů Microsoft.TestPlatform.*.

VSTest je rozšiřitelný a běžné typy jsou umístěny v Microsoft.TestPlatform.ObjectModel balíčku NuGet.

Jmenné prostory Microsoft.Testing.Platform

Microsoft.Testing.Platform je založen na balíčku NuGet Microsoft.Testing.Platform a dalších knihovnách v prostoru názvů Microsoft.Testing.*. Stejně jako VSTest je Microsoft.Testing.Platform opensourcový a má úložiště Microsoft/testfx GitHubu.

Komunikační protokol

Poznámka

Průzkumník testů sady Visual Studio podporuje protokol Microsoft.Testing.Platform od verze 17.12 dále. Pokud testy spustíte nebo ladíte pomocí starších verzí sady Visual Studio, Průzkumník testů k provedení těchto testů použije vstest.console.exe a starý protokol.

Microsoft.Testing.Platform používá protokol založený na JSON-RPC ke komunikaci mezi sadou Visual Studio a procesem test runneru. Protokol je zdokumentovaný v úložišti MSTest GitHub.

VSTest také používá komunikační protokol založený na formátu JSON, ale není JSON-RPC založený.

Zakázání nového protokolu

Chcete-li zakázat použití nového protokolu v Průzkumníku testů, můžete upravit projekt a přidat následující vlastnost: <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>.

V sadě Visual Studio můžete také přejít na možnosti Funkcí ve verzi Preview a zrušit výběr možnosti Použít režim serveru testovací platformy.

Spustitelné soubory

VSTest dodává více spustitelných souborů, zejména vstest.console.exe, testhost.exea datacollector.exe. Microsoft.Testing.Platform se ale vloží přímo do testovacího projektu a nepřidá žádné jiné spustitelné soubory. Spustitelný soubor, na který se testovací projekt zkompiluje, se používá k hostování všech testovacích nástrojů a provádění všech úkolů potřebných ke spuštění testů.

Viz také