Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden alle Microsoft.Testing.Platform-Erweiterungen aufgeführt und erläutert, die sich auf die Codeabdeckungsfunktion beziehen.
Um festzustellen, welcher Anteil des Codes Ihres Projekts durch programmierte Tests wie Komponententests getestet wird, können Sie das Feature „Code Coverage“ verwenden. Um sich effektiv vor Fehlern zu schützen, sollten Sie die Tests für den Großteil Ihres Codes ausführen.
Microsoft Codeabdeckung
Die Microsoft Code Coverage-Analyse ist sowohl für verwalteten (CLR) als auch für nicht verwalteten (nativen) Code möglich. Sowohl statische als auch dynamische Instrumentierung werden unterstützt. Diese Erweiterung wird als Teil des Microsoft.Testing.Extensions.CodeCoverage NuGet-Pakets ausgeliefert.
Hinweis
Die nicht verwaltete (systemeigene) Codeabdeckung ist standardmäßig in der Erweiterung deaktiviert. Verwenden Sie die Flags EnableStaticNativeInstrumentation
und EnableDynamicNativeInstrumentation
, um diese bei Bedarf zu aktivieren.
Weitere Informationen zur nicht verwalteten Codeabdeckung finden Sie unter Statische und dynamische systemeigene Instrumentierung.
Wichtig
Das Paket ist im Lizenzierungsmodell „Closed Source, Free to Use“ der Microsoft .NET-Bibliothek enthalten.
Weitere Informationen über Code Coverage von Microsoft finden Sie auf der entsprechenden GitHub-Seite.
Microsoft Code Coverage bietet die folgenden Optionen:
Auswahlmöglichkeit | BESCHREIBUNG |
---|---|
--coverage |
Erfassen der Code Coverage mit dem Tool dotnet-coverage |
--coverage-output |
Der Name oder Pfad der erzeugten Abdeckungsdatei. Standardmäßig ist die Datei TestResults/<guid>.coverage . |
--coverage-output-format |
Format der Ausgabedatei. Folgende Werte werden unterstützt: coverage , xml und cobertura . Der Standardwert ist coverage . |
--coverage-settings |
XML-Code Coverage-Einstellungen. |
Weitere Informationen zu den verfügbaren Optionen finden Sie unter Einstellungen und Beispiele.
Hinweis
Der Standardwert in IncludeTestAssembly
"Microsoft.Testing.Extensions.CodeCoverage" lautet false
, während er zuvor in VSTest true
war. Dies bedeutet, dass Testprojekte standardmäßig ausgeschlossen werden. Weitere Informationen finden Sie in der Codeabdeckungskonfiguration.
Bettdecke
Wichtig
Das coverlet.collector
NuGet-Paket wurde speziell für VSTest entwickelt und kann nicht mit Microsoft.Testing.Platform
verwendet werden.
Zurzeit gibt es keine Coverlet-Erweiterung, sie können jedoch das globale Tool Coverlet .NET verwenden.
Wenn Sie das globale Coverlet-Tool bereits installiert haben, können Sie jetzt Folgendes ausführen:
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"