Megosztás a következőn keresztül:


Microsoft.Testing.Platform és VSTest összehasonlítása

Microsoft.Testing.PlatformA VSTest egyszerű és hordozható alternatíva a tesztek parancssori, folyamatos integrációs (CI) folyamatokban, a Visual Studio Test Explorerben és a Visual Studio Code-ban való futtatásához. Ebben a cikkben megismerheti az MSTest-futó és a VSTest közötti főbb különbségeket.

A tesztvégrehajtás különbségei

A tesztek végrehajtása a futótól függően különböző módon történik.

VSTest-tesztek végrehajtása

A VSTest a Visual Studióval, a .NET SDK-val és a Microsoft.TestPlatform NuGet csomag önálló eszközével rendelkezik. A VSTest egy futtatható futót használ a tesztek futtatásához, amelyet vstest.console.exeközvetlenül vagy keresztül dotnet testlehet használni.

Microsoft.Testing.Platform-tesztek végrehajtása

A Microsoft.Testing.Platform közvetlenül a tesztprojektbe van beágyazva, és nem szállít további végrehajtható fájlokat. A projekt végrehajtható futtatásakor a tesztek lefutnak. A Microsoft.Testing.Platform tesztjeinek futtatásával kapcsolatos további információkért tekintse meg a Microsoft.Testing.Platform áttekintését: Tesztek futtatása és hibakeresése.

Névterek és NuGet-csomagok

Ha szeretné megismerni a Microsoft.Testing.Platform VSTestet és a VSTestet, érdemes megismernie az egyes névtereket és NuGet-csomagokat.

VSTest-névterek

A VSTest tesztelési eszközök gyűjteménye, amelyeket tesztplatformnak is neveznek. A VSTest-forráskód nyílt forráskódú, és a Microsoft/vstest GitHub-adattárban érhető el. A kód a névteret Microsoft.TestPlatform.* használja.

A VSTest bővíthető, és a gyakori típusok a Microsoft.TestPlatform.ObjectModel NuGet csomagban találhatók.

Microsoft.Testing.Platform névterek

A Microsoft.Testing.Platform a Microsoft.Testing.Platform NuGet-csomagon és a Microsoft.Testing.* névtérben található egyéb kódtárakon alapul. A VSTesthez hasonlóan ez Microsoft.Testing.Platform is nyílt forráskódú, és microsoft/testfx GitHub-adattárral rendelkezik.

Kommunikációs protokoll (előzetes verzió)

Feljegyzés

A Visual Studio Test Explorer 17.10-től kezdve támogatja a Microsoft.Testing.Platform protokollt az előzetes verziókban. Ha a Visual Studio korábbi verzióival futtatja/hibakereséssel végzi a teszteket, a Test Explorer és a régi protokoll fogja használni vstest.console.exe ezeket a teszteket.

A Microsoft.Testing.Platform JSON-RPC-alapú protokollt használ a Visual Studio és a tesztfuttatási folyamat közötti kommunikációhoz. A protokoll dokumentálva van az MSTest GitHub-adattárban.

A VSTest JSON-alapú kommunikációs protokollt is használ, de nem JSON-RPC-alapú.

Az új protokoll letiltása

Ha le szeretné tiltani az új protokoll használatát a Test Explorerben, szerkesztheti a csprojot, és eltávolíthatja a képességet TestingPlatformServer .

<ItemGroup>
    <ProjectCapability Remove="TestingPlatformServer" />
</ItemGroup>

Végrehajtható fájlok

A VSTest több végrehajtható fájlt szállít, nevezetesen vstest.console.exe, testhost.exeés datacollector.exe. Az MSTest azonban közvetlenül a tesztprojektbe van beágyazva, és nem küld más végrehajtható fájlokat. A tesztprojekt által lefordított végrehajtható fájl az összes tesztelési eszköz üzemeltetésére és a tesztek futtatásához szükséges összes feladat végrehajtására szolgál.