Udostępnij za pośrednictwem


Rozszerzenia pokrycia kodu

W tym artykule wymieniono i wyjaśniono wszystkie rozszerzenia Microsoft Testing Platform związane z możliwościami pokrycia kodu.

Możesz użyć funkcji pokrycia kodu, aby określić, jaka część kodu projektu jest testowana przez kodowane testy, takie jak testy jednostkowe. Aby skutecznie chronić przed usterkami, testy powinny wykonywać lub obejmować dużą część kodu.

Pokrycie kodu firmy Microsoft

Analiza pokrycia kodu firmy Microsoft jest możliwa zarówno w przypadku kodu zarządzanego (CLR) i niezarządzanego (natywnego). Obsługiwane są zarówno instrumentacja statyczna, jak i dynamiczna. To rozszerzenie jest dostarczane jako część pakietu NuGet Microsoft.Testing.Extensions.CodeCoverage.

Notatka

Pokrycie kodu niezarządzanych (natywnych) jest domyślnie wyłączone w rozszerzeniu. Aby włączyć, w razie potrzeby użyj flag EnableStaticNativeInstrumentation i EnableDynamicNativeInstrumentation. Aby uzyskać więcej informacji na temat pokrycia kodu niezarządzanego, zobacz Static and dynamic native instrumentation.

Ważny

Pakiet jest dostarczany z biblioteką Microsoft .NET korzystającą z zamkniętego modelu licencjonowania typu open source, bezpłatnego w użyciu.

Aby uzyskać więcej informacji na temat pokrycia kodu firmy Microsoft, odwiedź stronę GitHub.

Microsoft Code Coverage zapewnia następujące opcje:

Opcja Opis
--coverage Zbierz dane na temat pokrycia kodu przy użyciu narzędzia dotnet-coverage.
--coverage-output Nazwa lub ścieżka utworzonego pliku pokrycia. Domyślnie plik jest TestResults/<guid>.coverage.
--coverage-output-format Format pliku wyjściowego. Obsługiwane wartości to: coverage, xmli cobertura. Wartość domyślna to coverage.
--coverage-settings ustawienia pokrycia kodu XML.

Aby uzyskać więcej informacji na temat dostępnych opcji, zobacz ustawienia i przykłady .

Coverlet

Ważny

Pakiet NuGet coverlet.collector został zaprojektowany specjalnie dla programu VSTest i nie może być używany z Microsoft.Testing.Platform.

Obecnie nie ma rozszerzenia Coverlet, ale można użyć globalnego narzędzia .NET Coverlet .

Zakładając, że narzędzie globalne Coverlet zostało już zainstalowane, możesz teraz uruchomić następujące polecenie:

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