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 Microsoft.Testing.Platform a VSTest egyszerű és hordozható alternatíva a tesztek minden környezetben való futtatásához, beleértve a folyamatos integrációs (CI) pipelines, a parancssori felület, a Visual Studio a Test Explorer és a VS Code Test Explorer használatát. A Microsoft.Testing.Platform közvetlenül a tesztprojektekbe van beágyazva, és nincsenek más alkalmazásfüggőségek, például vstest.console vagy dotnet test a tesztek futtatásához.
Tipp
Ha segítségre van szüksége a VSTest és a Microsoft.Testing.Platform közötti választáshoz, kezdje a tesztplatformok áttekintésével.
Ezt a cikket akkor érdemes használnia, ha már eldöntötte, hogy a Microsoft.Testing.Platformot használja, és szeretné megismerni annak modelljét, képességeit és működési viselkedését.
Microsoft.Testing.Platform nyílt forráskódú. A Microsoft.Testing.Platform GitHub adattárban található kód.
Kezdés itt
Az alábbi elérési utat használja, attól függően, mire van szüksége:
- Tesztek futtatása és hibakeresése parancssori felületről, IDE-ről vagy CI-ről: Tesztek futtatása és hibakeresése
- A platform viselkedésének megismerése a parancssori felületen: Tesztelés a következővel
dotnet test: - Platform- és bővítmény parancssori felület kapcsolóinak megkeresése egy helyen: Microsoft.Testing.Platform CLI-beállítások referenciája
- Keretrendszerfuttatók konfigurálása: Tesztek futtatása az MSTest vagy Microsoft.Testing.Platform támogatásával az NUnitban való futás (NUnit futó)
- Meglévő VSTest-beállítás migrálása: Migrálás a VSTestről a Microsoft.Testing.Platform platformra
- Diagnosztikák, lefedettség és jelentéskészítés hozzáadása: Microsoft.Testing.Platform funkciók
- Saját bővítmény létrehozása: Microsoft.Testing.Platform architektúra, bővítménypontok és szolgáltatások
Microsoft.Testing.Platform alapelvek
Ez az új tesztelési platform a .NET fejlesztői élménytesztelési csapat tapasztalataira épül, és célja, hogy kezelje a .NET Core 2016-os kiadása óta felmerülő kihívásokat. Bár a .NET-keretrendszer és a .NET Core/.NET között magas szintű kompatibilitás áll fenn, néhány kulcsfontosságú funkció, például a beépülő modulrendszer és a .NET-fordítások új lehetséges formai tényezői összetettsé tették az új futtatókörnyezeti funkciót a jelenlegi VSTest platform architektúrával.
Az új tesztplatform fejlődésének fő hajtó tényezőit az alábbiakban találja:
Determinizmus: Annak biztosítása, hogy ugyanazokat a teszteket különböző környezetekben (helyi, CI) futtassa, ugyanazt az eredményt fogja eredményezni. Az új futtatókörnyezet nem támaszkodik tükröződésre vagy más dinamikus .NET futtatókörnyezeti funkcióra a tesztfuttatás koordinálásához.
futtatókörnyezet átláthatósága: A tesztkörnyezet nem zavarja a teszt-keretrendszer kódját, nem hoz létre izolált környezeteket, például
AppDomainvagyAssemblyLoadContext, és nem használ tükrözési vagy egyéni szerelvény-feloldókat.bővítmények fordítási idejének regisztrálása: A bővítményeket, például a tesztelési keretrendszereket és a folyamaton kívüli bővítményeket a fordítási idő alatt regisztrálják a determinizmus biztosítása és az inkonzisztenciák észlelésének megkönnyítése érdekében.
Zero-függőségek: A platform magja egyetlen .NET szerelvény,
Microsoft.Testing.Platform.dll, amely a támogatott futtatókörnyezeteken kívül nem rendelkezik függőségekkel.Hostable: A tesztkörnyezet bármely .NET alkalmazásban üzemeltethető. Bár a konzolalkalmazásokat gyakran használják tesztek futtatására, bármilyen típusú .NET alkalmazásban létrehozhat tesztalkalmazást. Ez lehetővé teszi a tesztek futtatását olyan speciális környezetekben, például eszközökön vagy böngészőkben, ahol korlátozások lehetnek.
Az összes .NET űrlaptényező támogatása: Az aktuális és jövőbeli .NET űrlaptényezők támogatása, beleértve a natív AOT-t is.
Performant: A funkciók és a bővítménypontok közötti megfelelő egyensúly megtalálása a futtatókörnyezet nem alapvető kóddal való blobolásának elkerülése érdekében. Az új tesztplatform úgy lett kialakítva, hogy "vezényelje" a tesztfuttatást, az implementációs részletek biztosítása helyett.
Bővíthető elég: Az új platform bővíthetőségi pontokra épül, így lehetővé teszi a futtatókörnyezet végrehajtásának maximális testreszabását. Lehetővé teszi a tesztfolyamat-gazdagép konfigurálását, a tesztelési folyamat megfigyelését és a tesztelési keretrendszerből származó információk felhasználását a tesztgazdafolyamaton belül.
egymodulos üzembe helyezési: Az üzemeltethetőségi funkció egyetlen modul üzembehelyezési modelljét teszi lehetővé, ahol egyetlen fordítási eredmény használható az összes bővíthetőségi pont támogatására, mind a folyamaton kívül, mind a folyamatban, anélkül, hogy különböző végrehajtható modulokat kellene szállítania.
Támogatott tesztelési keretrendszerek
- MSTest. MSTestben a
Microsoft.Testing.Platformtámogatását a MSTest futóbiztosítja. - NUnit. A
Microsoft.Testing.Platformtámogatása a NUnit tesztfutókeresztül történik az NUnitban. - xUnit.net. További információ: Microsoft Testing Platform (xUnit.net v3) és Microsoft Testing Platform (xUnit.net v2) az xUnit.net dokumentációból.
- TUnit: teljes egészében a
Microsoft.Testing.Platformfölé épül, további információkért lásd TUnit dokumentációját.
Támogatott cél-keretrendszerek
A Microsoft.Testing.Platform támogatja a .NET (.NET 8-as és újabb verziók), .NET-keretrendszert (4.6.2-s és újabb verziók), és a NETStandard 2.0-t célozza meg a többi futtatókörnyezettel való maximális kompatibilitás érdekében.
Tesztek futtatása és hibakeresése
Az MTP-tesztprojektek parancssori felületről, Visual Studio, Visual Studio Code-ból és CI-pipelines történő futtatásáról és hibakereséséről a Futtatási és hibakeresési tesztek című témakörben talál részletes útmutatást.
Beállítások
A platform- és bővítmény parancssori beállításainak teljes listáját a Microsoft.Testing.Platform CLI-beállításokra vonatkozó hivatkozásban találja.
MSBuild-integráció
A NuGet-csomag Microsoft.Testing.Platform.MSBuild különböző integrációkat biztosít az MSBuild Microsoft.Testing.Platform számára:
- A
dotnet testtámogatása. További információ: Tesztelés dotnet-teszttel. - A
ProjectCapabilityésVisual StudioTesztböngészők által igényeltVisual Studio Codetámogatása. - A belépési pont automatikus létrehozása (
Mainmetódus). - A konfigurációs fájl automatikus létrehozása.
- Telepített bővítménycsomagok automatikus észlelése és regisztrálása.
Ha ez a csomag aktív (az MSTest, az NUnit és az xUnit futók alapértelmezett beállítása), akkor csak egy bővítmény NuGet-csomag telepítése szükséges — a bővítmények automatikusan regisztrálódnak kódmódosítás nélkül. Ha a beállítással <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>letiltja az automatikusan létrehozott belépési pontot, manuálisan kell regisztrálnia a bővítményeket a Main metódusban. Minden bővítményoldal dokumentálja a manuális regisztrációs hívást.
Megjegyzés
Ez az integráció tranzitív módon működik (egy másik projekt, amely hivatkozik egy csomagra hivatkozó projektre, úgy fog viselkedni, mintha a csomagra hivatkozik), és letiltható a IsTestingPlatformApplication MSBuild tulajdonságon keresztül.