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.
Suggerimento
Quando si usa Microsoft.Testing.Platform.MSBuild (incluso transitivamente da MSTest, NUnit e runner xUnit), le estensioni di code coverage vengono registrate automaticamente quando si installano i pacchetti NuGet, senza necessità di modifiche al codice.
È possibile usare la funzionalità di code coverage per determinare la proporzione del codice del project sottoposto 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 richiede il pacchetto NuGet Microsoft.Testing.Extensions.CodeCoverage .
Annotazioni
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 con un modello di licenza a codice sorgente chiuso gratuito da usare.
Per ulteriori informazioni sulla copertura del codice di Microsoft, visitare la sua pagina GitHub.
Options
| Opzione | Descrzione |
|---|---|
--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 settings e samples.
Annotazioni
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 Code Coverage configuration.
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 |
Annotazioni
Per la migliore compatibilità e le funzionalità più recenti, è consigliabile usare le versioni più recenti di entrambi i pacchetti.
Copriletto
Coverlet Microsoft Testing Platform Integration (coverlet.MTP) è un'estensione nativa per Microsoft.Testing.Platform che implementa la coverlet.collector funzionalità.
Aggiungere il pacchetto NuGet coverlet.MTP al project di test:
dotnet add package coverlet.MTP
Per raccogliere la copertura del codice, eseguire i test con il flag --coverlet.
dotnet test --coverlet
In alternativa, eseguire il file eseguibile di test con il --coverlet flag :
dotnet exec <test-assembly.dll> --coverlet
Dopo l'esecuzione del test, viene generato un coverage.json file contenente i risultati nella directory corrente.
Options
| Opzione | Descrzione |
|---|---|
--coverlet |
Abilitare la raccolta dei dati di copertura del codice. |
--coverlet-output-format <format> |
Formati di output per il report di copertura. Formati supportati: json, lcov, opencovercobertura, e teamcity. Specificare più volte per includere più formati. |
--coverlet-include <filter> |
Includere gli assembly che corrispondono ai filtri, come [Assembly]Type. Specificare più volte per aggiungere altri filtri. |
--coverlet-include-directory <path> |
Includere directory aggiuntive per i file di origine. Specificare ripetutamente per aggiungere altre directory. |
--coverlet-exclude <filter> |
Escludi assembly che corrispondono ai filtri, ad esempio [Assembly]Type. Specificare più volte per aggiungere altri filtri. |
--coverlet-exclude-by-file <pattern> |
Escludere i file di origine che corrispondono ai modelli GLOB. Specificare più volte per aggiungere altri schemi. |
--coverlet-exclude-by-attribute <attribute> |
Escludere metodi o classi decorati con attributi specifici. Specificare più volte per aggiungere altri attributi. |
--coverlet-include-test-assembly |
Includere l'assembly di test nel report di copertura. |
--coverlet-single-hit |
Limitare il numero di riscontri a uno per ogni posizione nel codice. |
--coverlet-skip-auto-props |
Escludere le proprietà implementate automaticamente nella copertura. |
--coverlet-does-not-return-attribute <attribute> |
Attributi che contrassegnano i metodi come non restituiscono. Specificare più volte per aggiungere altri attributi. |
--coverlet-exclude-assemblies-without-sources <value> |
Escludere le assembly senza codice sorgente. Valori: MissingAll, MissingAnye None. |
Per altre informazioni, vedere la documentazione di coverlet.MTP.