Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo elenca e illustra tutte le estensioni Microsoft.Testing.Platform correlate alla funzionalità di code coverage.
È possibile usare la funzionalità di code coverage per determinare la proporzione del codice del progetto sottoposta a test codificati, ad esempio unit test. Per proteggersi efficacemente dai bug, i test devono esercitare o coprire gran parte del tuo codice.
Copertura del codice di Microsoft
L'analisi del code coverage di Microsoft è possibile sia per il codice gestito (CLR) che per il codice non gestito (nativo). Sono supportati sia la strumentazione statica che quella dinamica. Questa estensione viene fornita come parte del pacchetto NuGet Microsoft.Testing.Extensions.CodeCoverage.
Nota
La copertura del codice non gestito (nativo) è disabilitata per impostazione predefinita nell'estensione. Usare flag EnableStaticNativeInstrumentation e EnableDynamicNativeInstrumentation per abilitarlo, se necessario.
Per ulteriori informazioni sulla copertura del codice non gestita, vedere strumentazione statica e dinamica nativa.
Importante
Il pacchetto viene fornito con la libreria Microsoft .NET a sorgente chiusa e un modello di licenza gratuito per l'uso.
Per ulteriori informazioni sul code coverage di Microsoft, vedere la pagina GitHub corrispondente.
Microsoft Code Coverage offre le opzioni seguenti:
| Opzione | Descrizione |
|---|---|
--coverage |
Raccogliere la copertura del codice usando lo strumento dotnet-coverage. |
--coverage-output |
Nome o percorso del file di copertura prodotto. Per impostazione predefinita, il file è TestResults/<guid>.coverage. |
--coverage-output-format |
Formato del file di output. I valori supportati sono: coverage, xmle cobertura. Il valore predefinito è coverage. |
--coverage-settings |
impostazioni di code coverage XML. |
Per altre informazioni sulle opzioni disponibili, vedere impostazioni e esempi di .
Nota
Il valore predefinito di IncludeTestAssembly in Microsoft.Testing.Extensions.CodeCoverage è false, mentre è true in VSTest. Ciò significa che i progetti di test vengono esclusi per impostazione predefinita. Per altre informazioni, vedere Configurazione del code coverage.
Compatibilità delle versioni
La tabella seguente illustra la compatibilità tra versioni diverse di Microsoft.Testing.Extensions.CodeCoverage e 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 |
Nota
Per la migliore compatibilità e le funzionalità più recenti, è consigliabile usare le versioni più recenti di entrambi i pacchetti.
Copriletto
Importante
Il pacchetto NuGet coverlet.collector è progettato in modo specifico per VSTest e non può essere usato con Microsoft.Testing.Platform.
Attualmente non è disponibile alcuna estensione Coverlet, ma puoi utilizzare lo strumento globale Coverlet .NET .
Supponendo di aver già installato lo strumento globale Coverlet, è ora possibile eseguire:
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"