Tillägg för kodtäckning
I den här artikeln listas och förklaras alla Microsoft Testing Platform
utökningar som är relaterade till förmågan för kodtäckning.
Du kan använda funktionen för kodtäckning för att avgöra vilken andel av projektets kod som testas av kodade tester, till exempel enhetstester. För att effektivt skydda dig mot buggar bör dina tester träna eller täcka en stor del av koden.
Microsofts kodtäckning
Microsoft Code Coverage-analys är möjlig för både hanterad (CLR) och ohanterad (intern) kod. Både statisk och dynamisk instrumentering stöds. Det här tillägget levereras som en del av Microsoft.Testing.Extensions.CodeCoverage NuGet-paketet.
Anteckning
Ohanterad (intern) kodtäckning är inaktiverad i tillägget som standard. Använd flaggor EnableStaticNativeInstrumentation
och EnableDynamicNativeInstrumentation
för att aktivera den om det behövs.
Mer information om ohanterad kodtäckning finns i Statisk och dynamisk intern instrumentation.
Viktig
Paketet levereras med Microsoft .NET-biblioteket, som har en licensmodell med stängd källkod som tillåter fri användning.
Mer information om Microsofts kodtäckning finns på sidan GitHub.
Microsoft Code Coverage innehåller följande alternativ:
Alternativ | Beskrivning |
---|---|
--coverage |
Samla in kodtäckningen med hjälp av verktyget dotnet-coverage. |
--coverage-output |
Namnet eller sökvägen till den skapade täckningsfilen. Som standard är filen TestResults/<guid>.coverage . |
--coverage-output-format |
Utdatafilformat. Värden som stöds är: coverage , xml och cobertura . Standardvärdet är coverage . |
--coverage-settings |
XML-kodtäckningsinställningar. |
Mer information om tillgängliga alternativ finns i inställningar och exempel.
Sängöverkast
Viktig
NuGet-paketet coverlet.collector
är särskilt utformat för VSTest och kan inte användas med Microsoft.Testing.Platform
.
Det finns för närvarande inget Coverlet-tillägg, men du kan använda det globala verktyget Coverlet .NET.
Förutsatt att du redan har installerat det globala Coverlet-verktyget kan du nu köra:
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"