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.
Jótanács
A Microsoft.Testing.Platform.MSBuild (amely tranzitíven az MSTest, NUnit és xUnit futók által kerül be) használatakor a kódlefedettség kiterjesztések automatikusan regisztrálódnak, amikor a NuGet csomagokat telepítitek – kódmódosításra nincs szükség.
A kódlefedettségi funkcióval meghatározhatja, hogy a project kódjának hány százalékát tesztelik kódolt tesztek, például egységtesztek. A hibák elleni hatékony védelem érdekében a teszteknek gyakorolniuk kell, vagy terjedniük kell a kód nagy hányadára.
Microsoft-kódlefedettség
A Microsoft Code Coverage elemzése felügyelt (CLR) és nem felügyelt (natív) kód esetén egyaránt lehetséges. Mind a statikus, mind a dinamikus instrumentáció támogatott. Ehhez a bővítményhez a Microsoft.Testing.Extensions.CodeCoverage NuGet csomag szükséges.
Megjegyzés:
A nem felügyelt (natív) kódlefedettség alapértelmezés szerint le van tiltva a bővítményben. Szükség esetén aktiválásához használja a jelzőket EnableStaticNativeInstrumentation és EnableDynamicNativeInstrumentation.
További információért a nem felügyelt kódlefedettségről lásd: Statikus és dinamikus natív műszerészet.
Fontos
A csomagot a Microsoft .NET könyvtárral szállítják, amely zárt forráskódú, de ingyenesen használható licencmodellt alkalmaz.
A Microsoft-kódlefedettségről további információt a GitHub oldalán talál.
Beállítások
| Lehetőség | Description |
|---|---|
--coverage |
Gyűjtse össze a kódlefedettségeket a dotnet-coverage eszközzel. |
--coverage-output |
A létrehozott lefedettségi fájl neve vagy elérési útja. Alapértelmezés szerint a fájl TestResults/<guid>.coverage. |
--coverage-output-format |
Kimeneti fájlformátum. A támogatott értékek a következők: coverage, xmlés cobertura. Az alapértelmezett érték coverage. |
--coverage-settings |
XML-kódlefedettségi beállítások. |
Az elérhető beállításokkal kapcsolatos további információkért lásd: settings és samples.
Megjegyzés:
A Microsoft.Testing.Extensions.CodeCoverage alapértelmezett értéke IncludeTestAssembly, false, míg korábban a VSTestben true volt. Ez azt jelenti, hogy a tesztprojektek alapértelmezés szerint ki vannak zárva. További információ: Code Coverage configuration.
Verziók kompatibilitása
Az alábbi táblázat a Microsoft.Testing.Extensions.CodeCoverage és a Microsoft.Testing.Platform különböző verziói közötti kompatibilitást mutatja be:
| Microsoft.Testing.Extensions.CodeCoverage | Microsoft.Testing.Platform |
|---|---|
| 18.1.x | 2.0.x |
| 18.0.x | 1.8.x |
| 17.14.x | 1.6.2 |
Megjegyzés:
A legjobb kompatibilitás és a legújabb funkciók érdekében ajánlott mindkét csomag legújabb verzióit együtt használni.
Ágytakaró
A Coverlet Microsoft Testing Platform integráció (coverlet.MTP) a Microsoft.Testing.Platform natív bővítménye, amely implementálja a coverlet.collector funkciót.
Adja hozzá a coverlet.MTP NuGet-csomagot a teszt projektjéhez:
dotnet add package coverlet.MTP
A kódlefedettség gyűjtéséhez futtassa a teszteket a --coverlet jelzővel:
dotnet test --coverlet
Vagy futtassa a futtatható tesztet a --coverlet jelölővel:
dotnet exec <test-assembly.dll> --coverlet
A teszt futtatása után egy coverage.json , az eredményeket tartalmazó fájl jön létre az aktuális könyvtárban.
Beállítások
| Lehetőség | Description |
|---|---|
--coverlet |
Kódlefedettségi adatgyűjtés engedélyezése. |
--coverlet-output-format <format> |
A lefedettségi jelentés kimeneti formátumai. Támogatott formátumok: json, lcov, opencover, coberturaés teamcity. Többszöri megadás esetén több formátumot is megadhat. |
--coverlet-include <filter> |
Olyan szerelvényeket is tartalmazzon, amelyek megfelelnek a szűrőknek, például [Assembly]Type. Adjon meg többször további szűrőket. |
--coverlet-include-directory <path> |
Adjon meg további könyvtárakat a forrásfájlokhoz. Adja meg többször az utasítást további könyvtárak hozzáadásához. |
--coverlet-exclude <filter> |
Ne tartalmazza azokat az assemblyket, amelyek megfelelnek a szűrőknek, például [Assembly]Type. Adjon meg többször további szűrőket. |
--coverlet-exclude-by-file <pattern> |
Zárja ki a gömbmintáknak megfelelő forrásfájlokat. Több alkalommal adhat meg további mintákat. |
--coverlet-exclude-by-attribute <attribute> |
Zárja ki az adott attribútumokkal dekorált metódusokat vagy osztályokat. Adjon meg többször további attribútumokat. |
--coverlet-include-test-assembly |
Vegye fel a tesztszerelvényt a lefedettségi jelentésbe. |
--coverlet-single-hit |
A találatok számát a kód minden helyéhez egy-egyre korlátozhatja. |
--coverlet-skip-auto-props |
Hagyja ki az automatikusan implementált tulajdonságokat a lefedettségben. |
--coverlet-does-not-return-attribute <attribute> |
Olyan attribútumok, amelyek olyan metódusokat jelölnek, amelyek nem adnak vissza értéket. Adjon meg többször további attribútumokat. |
--coverlet-exclude-assemblies-without-sources <value> |
Zárja ki a forráskód nélküli összeállításokat. Értékek: MissingAll, MissingAnyés None. |
További információkért lásd a coverlet.MTP-dokumentáció.