Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Tips/Råd
När du använder Microsoft.Testing.Platform.MSBuild (ingår transitivt av MSTest, NUnit och xUnit-löpare) registreras kodtäckningstillägg automatiskt när du installerar deras NuGet-paket – inga kodändringar behövs.
Du kan använda funktionen för kodtäckning för att avgöra vilken andel av din project kod som testas av kodade tester, till exempel enhetstester. För att effektivt försvara dig mot buggar bör dina tester omfatta eller täcka en stor del av din kod.
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 kräver NuGet-paketet Microsoft.Testing.Extensions.CodeCoverage .
Anmärkning
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.
Viktigt!
Paketet levereras med Microsoft .NET-bibliotek med stängd källkod och kostnadsfri licensmodell.
Mer information om Microsofts kodtäckning finns på sidan GitHub.
Alternativ
| Alternativ | Description |
|---|---|
--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, xmloch cobertura. Standard är coverage. |
--coverage-settings |
XML-kodtäckningsinställningar. |
Mer information om tillgängliga alternativ finns i settings och samples.
Anmärkning
Standardvärdet IncludeTestAssembly för i Microsoft.Testing.Extensions.CodeCoverage är false, medan det brukade vara true i VSTest. Det innebär att testprojekt exkluderas som standard. Mer information finns i Code-täckningskonfiguration.
Versionskompatibilitet
Följande tabell visar kompatibiliteten mellan olika versioner av Microsoft.Testing.Extensions.CodeCoverage och Microsoft.Testing.Platform:
| 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 |
Anmärkning
För bästa kompatibilitet och de senaste funktionerna rekommenderar vi att du använder de senaste versionerna av båda paketen tillsammans.
Sängöverkast
Coverlet Microsoft Testing Platform Integration (coverlet.MTP) är ett inbyggt tillägg för Microsoft.Testing.Platform som implementerar coverlet.collector funktioner.
Lägg till NuGet-paketet coverlet.MTP i testprojektet:
dotnet add package coverlet.MTP
Om du vill samla in kodtäckning kör du dina tester med --coverlet flaggan:
dotnet test --coverlet
Eller kör ditt testprogram med flaggan --coverlet:
dotnet exec <test-assembly.dll> --coverlet
Efter testkörningen genereras en coverage.json fil som innehåller resultaten i den aktuella katalogen.
Alternativ
| Alternativ | Description |
|---|---|
--coverlet |
Aktivera insamling av kodtäckningsdata. |
--coverlet-output-format <format> |
Utdataformat för täckningsrapporten. Format som stöds: json, lcov, opencover, coberturaoch teamcity. Ange flera gånger för att inkludera fler än ett format. |
--coverlet-include <filter> |
Inkludera sammansättningar som matchar filter, till exempel [Assembly]Type. Ange flera gånger för att kunna lägga till fler filter. |
--coverlet-include-directory <path> |
Inkludera extra kataloger för källfiler. Ange flera gånger för att lägga till fler kataloger. |
--coverlet-exclude <filter> |
Exkludera sammansättningar som matchar filter, till exempel [Assembly]Type. Ange flera gånger för att kunna lägga till fler filter. |
--coverlet-exclude-by-file <pattern> |
Exkludera källfiler som matchar globmönster. Specificera flera gånger för att lägga till fler mönster. |
--coverlet-exclude-by-attribute <attribute> |
Exkludera metoder eller klasser som är dekorerade med specifika attribut. Ange flera gånger för att lägga till fler attribut. |
--coverlet-include-test-assembly |
Inkludera testsammansättningen i täckningsrapporten. |
--coverlet-single-hit |
Begränsa antalet träffar till en för varje plats i koden. |
--coverlet-skip-auto-props |
Hoppa över automatiskt implementerade egenskaper i täckningen. |
--coverlet-does-not-return-attribute <attribute> |
Attribut som markerar metoder som inte returneras. Ange flera gånger för att lägga till fler attribut. |
--coverlet-exclude-assemblies-without-sources <value> |
Exkludera sammansättningar utan källkod. Värden: MissingAll, MissingAnyoch None. |
Mer information finns i coverlet. MTP-dokumentation.