Porovnání Microsoft.Testing.Platform a VSTest
Microsoft.Testing.Platform
je jednoduchá a přenosná alternativa K 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 seznámíte s klíčovými rozdíly mezi msTest runnerem a VSTestem.
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 spuštění testů, které vstest.console.exe
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 – přehled: Spouštění a ladění testů.
Obory názvů a balíčky NuGet
Pokud se chcete seznámit s Microsoft.Testing.Platform
nástrojem VSTest, je užitečné pochopit obory názvů a balíčky NuGet, které jsou používány jednotlivými balíčky.
Obory názvů VSTest
VSTest je kolekce testovacích nástrojů, které se také označují jako testovací platforma. Zdrojový kód VSTest je opensourcový a dostupný v úložišti Microsoft/vstest Na GitHubu. Kód používá Microsoft.TestPlatform.*
obor názvů.
VSTest je rozšiřitelný a běžné typy jsou umístěny v balíčku NuGet Microsoft.TestPlatform.ObjectModel .
Obory názvů Microsoft.Testing.Platform
Microsoft.Testing.Platform je založen na balíčku NuGet Microsoft.Testing.Platform a dalších knihovnách v Microsoft.Testing.*
oboru názvů. Stejně jako VSTest Microsoft.Testing.Platform
je opensourcový a má úložiště GitHub microsoft/testfx .
Komunikační protokol (Preview)
Poznámka:
Průzkumník testů sady Visual Studio podporuje protokol Microsoft.Testing.Platform ve verzích Preview od verze 17.10 dále. Pokud testy spustíte nebo ladíte pomocí starších verzí sady Visual Studio, Průzkumník testů tyto testy spustí vstest.console.exe
a starý protokol.
Microsoft.Testing.Platform používá protokol založený na protokolu 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í založený na protokolu JSON-RPC.
Zakázání nového protokolu
Pokud chcete zakázat použití nového protokolu v Průzkumníku testů, můžete upravit csproj a odebrat TestingPlatformServer
funkci.
<ItemGroup>
<ProjectCapability Remove="TestingPlatformServer" />
</ItemGroup>
Spustitelné soubory
VSTest dodává více spustitelných souborů, zejména vstest.console.exe
, testhost.exe
a datacollector.exe
. MSTest 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ů.