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


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

A Microsoft.Testing.Platform egy egyszerű és hordozható alternatíva a VSTest 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 a Microsoft.Testing.Platform é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 önálló eszközként a Microsoft.TestPlatform NuGet csomagban érhető el. A VSTest egy futtatható futót használ a tesztek futtatásához vstest.console.exenéven, amely közvetlenül vagy dotnet testkeresztül használható.

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. Amikor futtatja a projekt futtatható fájlját, lefutnak a tesztek. A Microsoft.Testing.Platform tesztjeinek futtatásáról további információt a Microsoft.Testing.Platform áttekintésében talál: Tesztek futtatása és hibakeresése.

Névterek és NuGet-csomagok

A Microsoft.Testing.Platform és a VSTest megismeréséhez hasznos megismerni az egyes névterek és NuGet-csomagok használatát.

VSTest-névterek

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

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

Microsoft.Testing.Platform névterek

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

Kommunikációs protokoll

Jegyzet

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

A Microsoft.Testing.Platform egy JSON-RPC-alapú protokollt használ a Visual Studio és a tesztfuttató 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 projektet a következő tulajdonság hozzáadásához: <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>.

A Visual Studióban az Előzetes verziójú szolgáltatások lehetőséget is megnyithatja, és megszüntetheti a "Tesztelési platform kiszolgáló üzemmódjának használata" lehetőséget.

Végrehajtható fájlok

A VSTest több végrehajtható fájlt is szállít, többek között vstest.console.exe, testhost.exeés datacollector.exe. A Microsoft.Testing.Platform azonban közvetlenül a tesztprojektbe van beágyazva, és nem szállít 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.

Lásd még