Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden alle extensies van Microsoft.Testing.Platform beschreven die betrekking hebben op de mogelijkheid voor codedekking.
U kunt de functie voor codedekking gebruiken om te bepalen welk deel van de code van uw project wordt getest door gecodeerde tests, zoals eenheidstests. Als u effectief wilt beschermen tegen fouten, moeten uw tests uw code testen of een groot deel ervan afdekken.
Microsoft-codebedekking
Microsoft Code Coverage-analyse is mogelijk voor zowel beheerde (CLR) als niet-beheerde (systeemeigen) code. Zowel statische als dynamische instrumentatie worden ondersteund. Deze extensie wordt geleverd als onderdeel van Microsoft.Testing.Extensions.CodeCoverage NuGet-pakket.
Notitie
Onbeheerde (systeemeigen) codedekking is standaard uitgeschakeld in de extensie. Gebruik vlaggen EnableStaticNativeInstrumentation en EnableDynamicNativeInstrumentation om deze indien nodig in te schakelen.
Zie Statische en dynamische systeemeigen instrumentatie-voor meer informatie over onbeheerde codedekking.
Belangrijk
Het pakket wordt geleverd met de gesloten bron Microsoft .NET-bibliotheek die een licentiemodel voor gratis gebruik biedt.
Zie de GitHub-paginavoor meer informatie over de dekking van Microsoft-code.
Microsoft Code Coverage biedt de volgende opties:
| Optie | Beschrijving | 
|---|---|
--coverage | 
Verzamel de code-dekking met behulp van de dotnet-coverage tool. | 
--coverage-output | 
De naam of het pad van het geproduceerde dekkingsbestand. Het bestand is standaard TestResults/<guid>.coverage. | 
--coverage-output-format | 
Uitvoerbestandindeling. Ondersteunde waarden zijn: coverage, xmlen cobertura. De standaardwaarde is coverage. | 
--coverage-settings | 
XML-code dekkingsinstellingen. | 
Zie instellingen en voorbeeldenvoor meer informatie over de beschikbare opties.
Notitie
De standaardwaarde van IncludeTestAssembly Microsoft.Testing.Extensions.CodeCoverage is false, terwijl deze voorheen in VSTest was true . Dit betekent dat testprojecten standaard worden uitgesloten. Zie codedekkingsconfiguratie voor meer informatie.
Versiecompatibiliteit
In de volgende tabel ziet u de compatibiliteit tussen verschillende versies van Microsoft.Testing.Extensions.CodeCoverage en 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 | 
Notitie
Voor de beste compatibiliteit en nieuwste functies is het raadzaam om de nieuwste versies van beide pakketten samen te gebruiken.
Sprei
Belangrijk
Het coverlet.collector NuGet-pakket is speciaal ontworpen voor VSTest en kan niet worden gebruikt met Microsoft.Testing.Platform.
Er is momenteel geen Coverlet-extensie, maar u kunt Coverlet .NET global toolgebruiken.
Ervan uitgaande dat u het globale hulpprogramma Coverlet al hebt geïnstalleerd, kunt u nu het volgende uitvoeren:
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"