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 con Microsoft. Testing.Platform (MTP) per determinare la proporzione del codice del progetto testata da 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
Nella tabella seguente viene illustrata la compatibilità tra versioni diverse di Microsoft. Testing.Extensions.CodeCoverage e MTP:
| Microsoft.Testing.Extensions.CodeCoverage | MTP |
|---|---|
| 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 MTP che implementa le funzionalità di coverlet.collector.
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.