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


Kódlefedettségi bővítmények

Ez a cikk felsorolja és ismerteti a kódlefedettségi képességhez kapcsolódó összes Microsoft.Testing.Platform-bővítményt.

A kódlefedettségi funkcióval meghatározhatja, hogy a projekt 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. Ezt a bővítményt a Microsoft.Testing.Extensions.CodeCoverage NuGet-csomag részeként szállítjuk.

Jegyzet

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ódtár zárt forráskódú, ingyenes licencelési modellel szállítja.

A Microsoft kódlefedettségével kapcsolatos további információkért tekintse meg GitHub-oldalát.

A Microsoft Code Coverage a következő lehetőségeket kínálja:

Opció Leírás
--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ő lehetőségekről további információt beállítások és mintákcímű témakörben talál.

Jegyzet

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ó: Kódlefedettségi konfiguráció.

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

Jegyzet

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ó

Fontos

A coverlet.collector NuGet-csomag speciálisan a VSTesthez készült, és nem használható Microsoft.Testing.Platform-gyel.

Jelenleg nincs Coverlet-bővítmény, de használhatja Coverlet .NET globális eszközt.

Feltéve, hogy már telepítette a Coverlet globális eszközt, a következőt futtathatja:

coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"