Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET a tesztelési keretrendszer és a tesztplatform különböző összetevők, amelyek együttműködnek a tesztek felderítésében és futtatásában.
- A tesztelési keretrendszer határozza meg az ön által írt tesztmodellt, például MSTest, NUnit, xUnit.net vagy TUnit.
- A tesztplatform teszteket futtat, integrálódik az IDE-kkel és a parancssori felülettel (CLI), és közösen használható bővítménypontokat biztosít.
Két tesztplatform közül választhat:
- VSTest
- Microsoft.Testing.Platform (MTP)
Jótanács
A legegyszerűbb beállításhoz válasszon egy platformot az adattárhoz, és konfigurálja a tesztprojekteket, a CI-t és az eszközhasználatot következetesen ehhez a platformhoz. Ne keverje a VSTest-alapú és a Microsoft.Testing.Platform-alapú .NET tesztprojekteket ugyanabban a megoldásban, és ne futtasson konfigurációt, mert ez a forgatókönyv nem támogatott. Ha a VSTesttől (például C++ vagy JavaScript-tesztektől) függő nem .NET teszteket is futtat, ezeket a teszteket az MTP-alapú .NET tesztektől eltérő konfigurációkban futtathatja.
A platform kiválasztása
A gyors választáshoz használja az alábbi forgatókönyveket.
| Felhasználási eset | Válassz | Miért |
|---|---|---|
| Natív AOT-ra vagy vágási tesztvégrehajtási forgatókönyvekre van szüksége. | Microsoft.Testing.Platform | Az MTP támogatja ezeket a modern üzembehelyezési forgatókönyveket, míg a VSTest nem. |
| Csomagolt WinUI- vagy UWP-tesztprojekteket készít. | VSTest | Az MTP jelenleg nem támogatja ezeket a projekttípusokat. |
| Össze kell kevernie .NET teszteket és nem .NET tesztadaptereket (például JavaScript- vagy C++ adaptereket). | VSTest | A VSTest támogatja a vegyes nyelvű adapteres forgatókönyveket, míg az MTP .NET-specifikus. |
Azt szeretné, hogy a tesztprojektek normál végrehajthatóként viselkedjenek (dotnet run, közvetlenül végrehajtható futtatás, dotnet watch, és indítási projekt F5-folyamatok). |
Microsoft.Testing.Platform | Az MTP először végrehajtható, így a tesztalkalmazások a helyi és CI-munkafolyamatokban a standard .NET alkalmazásokhoz hasonlóan futnak. |
| A meglévő eszközök régen kialakított integrációira támaszkodhat. | VSTest | A VSTest a leghosszabb kompatibilitási rekorddal rendelkezik a meglévő termékek, feladatok és folyamatok között. Az MTP támogatása egyre nő az ökoszisztémában, de egyes integrációk lemaradhatnak a VSTest-hez képest. |
| A szigorú alapértelmezett beállításokat és a explicit viselkedést részesíti előnyben. | Microsoft.Testing.Platform | Az MTP a determinisztikus végrehajtást részesíti előnyben egy egyszerűsített, opt-in kiterjesztésű modellel és a buildidő-regisztrációval. Például sikertelen lehet, ha nincsenek tesztek, csökkenti a környezetfüggő variabilitást, és lehetővé teszi az egyes bővítmények letiltását környezetenként. |
| A lágyabb, szélesebb, visszamenőlegesen kompatibilis alapértelmezett értékeket részesíti előnyben. | VSTest | Mindkét platform gondoskodik a visszamenőleges kompatibilitásról. A VSTest a különböző, meglévő eszközláncok kompatibilitás-orientált alapértelmezett beállításait részesíti előnyben, míg az MTP a saját bővítménymodellben nyújt visszamenőleges kompatibilitást. |
| Önt egy VSTest-specifikus probléma vagy viselkedés blokkolja az aktuális munkafolyamata során. | Microsoft.Testing.Platform | A futtatókörnyezeti modell és a bővítményarchitektúra különbségei miatt sok esetben ugyanez a munkafolyamat nem lesz hatással az MTP-be való áthelyezéskor. |
Ha a konkrét használati eset nem szerepel a listában, mindkét platform érvényes választás.
Integrációs és eszközhasználati támogatás
| Integrációs terület | VSTest | Microsoft.Testing.Platform |
|---|---|---|
| IDE-integráció | A VSTest protokolltól és adaptertől függő Visual Studio és egyéb eszközök érett integrációja. | Visual Studio és Visual Studio Code forgatókönyvekben támogatott, az ökoszisztéma egyes részeiben végzett folyamatos integrációs munkával. |
| CI és külső eszközök | Széles körű támogatás a régóta meglévő Microsoft- és nem Microsoft-eszközök és feladatok között. A Azure DevOps használhatja a VSTest tevékenységet (VSTest@3, vstest.console) vagy a .NET tevékenységet (DotNetCoreCLI@2, dotnet test). |
Ci-ben és modern .NET munkafolyamatokban működik, de egyes külső integrációk továbbra is elmaradhatnak a VSTesttől. A Azure DevOps használja a .NET feladatot (DotNetCoreCLI@2, dotnet test). |
dotnet test Viselkedés |
Alapértelmezett VSTest mód. A VSTest argumentumai és viselkedése érvényes. | Natív MTP mód .NET 10 SDK-ban és újabb verziókban érhető el. |
A módokkal és argumentumokkal kapcsolatos dotnet test részletes információkért lásd: Tesztelés a következővel dotnet test: .
Kezdés a tesztelési keretrendszerből
Ha a VSTestet választja
- MSTest: Tesztek futtatása AZ MSTesttel
- NUnit: NUnit és Microsoft.Testing.Platform
- xUnit.net: Első lépések a xUnit.net
- TUnit: A VSTest nem támogatott. Használja a Microsoft.Testing.Platformot.
Ha a Microsoft.Testing.Platformot választja
- MSTest: Tesztek futtatása AZ MSTesttel
- NUnit: Microsoft.Testing.Platform támogatás az NUnitban (NUnit futtató)
- xUnit.net: Microsoft Testing Platform (xUnit.net v3)
- TUnit: A TUnit dokumentációja
Következő lépések
- MTP-fogalmak ismertetése: A Microsoft.Testing.Platform áttekintése
- A VSTest beállításainak ismertetése: VSTest-beállítások
- Migrálás a VSTestről: Migrálás a VSTestről a Microsoft.Testing.Platform platformra
- Képességek hozzáadása: Microsoft.Testing.Platform-funkciók