Sdílet prostřednictvím


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.exelze 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.exea 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ů.