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 , xml i 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"