Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 zabezpieczyć się przed błędami, testy powinny przeprowadzać 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 natywnego (niezarządzanego) 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 .
Notatka
Domyślna wartość IncludeTestAssembly w Microsoft.Testing.Extensions.CodeCoverage to false, podczas gdy w VSTest była to true. Oznacza to, że projekty testowe są domyślnie wykluczone. Aby uzyskać więcej informacji, zobacz Konfiguracja pokrycia kodu.
Zgodność wersji
W poniższej tabeli przedstawiono zgodność między różnymi wersjami biblioteki Microsoft.Testing.Extensions.CodeCoverage i 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 |
Notatka
Aby uzyskać najlepszą zgodność i najnowsze funkcje, zaleca się używanie najnowszych wersji obu pakietów razem.
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"