PublishCodeCoverageResults@1 - Pubblicare i risultati del code coverage v1

Usare questa attività per pubblicare i risultati di code coverage di Cobertura o JaCoCo da una compilazione.

Importante

Si tratta di un'attività deprecata. È consigliabile passare a PublishCodeCoverageResults@2. Per altre informazioni, vedere Nuova versione dell'attività Pubblica risultati code coverage.

Usare questa attività per pubblicare i risultati di code coverage di Cobertura o JaCoCo da una compilazione.

Sintassi

# Publish code coverage results v1
# [DEPRECATION WARNING! Users are recommended to switch to version 2*.] Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
    summaryFileLocation: # string. Required. Summary file. 
    #pathToSources: # string. Path to Source files. 
    #reportDirectory: # string. Report directory. 
    #additionalCodeCoverageFiles: # string. Additional files. 
    #failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
# Publish code coverage results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
    summaryFileLocation: # string. Required. Summary file. 
    #pathToSources: # string. Path to Source files. 
    #reportDirectory: # string. Report directory. 
    #additionalCodeCoverageFiles: # string. Additional files. 
    #failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
# Publish Code Coverage Results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
    summaryFileLocation: # string. Required. Summary file. 
    #reportDirectory: # string. Report directory. 
    #additionalCodeCoverageFiles: # string. Additional files. 
    #failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.

Input

codeCoverageTool - Strumento di code coverage
string. Obbligatorio. Valori consentiti: Cobertura, JaCoCo. Valore predefinito: JaCoCo.

Specifica lo strumento che genera i risultati del code coverage.


summaryFileLocation - File di riepilogo
string. Obbligatorio.

Specifica il percorso del file di riepilogo contenente le statistiche di code coverage, ad esempio riga, metodo e copertura della classe. Più file di riepilogo vengono uniti in un singolo report. Il valore può contenere modelli minimatch. Ad esempio: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml.


pathToSources - Percorso dei file di origine
string.

È necessario specificare un percorso per i file di origine quando i report XML di coverage non contengono un percorso assoluto per i file di origine. Ad esempio, i report JaCoCo non usano percorsi assoluti, quindi quando si pubblica la copertura JaCoCo per le app Java, il modello è simile a $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Questo input deve puntare a un percorso assoluto dei file di origine nell'host. Ad esempio: $(System.DefaultWorkingDirectory)/MyApp/.

Questo input può essere usato se i test vengono eseguiti in un contenitore Docker.

È possibile aggiungere più origini delimitando ogni voce di elenco con il ; carattere, ad esempio pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - Directory del report
string.

Specifica il percorso della directory di report HTML code coverage. La directory del report viene pubblicata per una visualizzazione successiva come artefatto della compilazione. Il valore può contenere modelli minimatch. Ad esempio: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura.


additionalCodeCoverageFiles - File aggiuntivi
string.

Specifica il modello di percorso file e annota eventuali file di code coverage aggiuntivi da pubblicare come artefatti della compilazione. Il valore può contenere modelli minimatch. Ad esempio: $(System.DefaultWorkingDirectory)/**/*.exec.


failIfCoverageEmpty - Esito negativo quando mancano i risultati del code coverage
boolean. Valore predefinito: false.

L'attività ha esito negativo se code coverage non ha prodotto risultati da pubblicare.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Importante

Si tratta di un'attività deprecata. È consigliabile passare a PublishCodeCoverageResults@2. Per altre informazioni, vedere Nuova versione dell'attività Pubblica risultati code coverage.

Nota

Vedere Nuova versione dell'attività Pubblica risultati code coverage nel blog di Azure DevOps per informazioni sulle nuove funzionalità nella versione 2 dell'attività Pubblica risultati code coverage e sulla migrazione da V1 a V2.

Usare questa attività in una pipeline di compilazione per pubblicare i risultati di code coverage generati durante l'esecuzione di test in Azure Pipelines o TFS per ottenere report di copertura. L'attività supporta i formati di risultati di copertura più diffusi, ad esempio Cobertura e JaCoCo.

Questa attività è supportata solo nelle pipeline di compilazione, non nelle pipeline di versione.

Le attività come Test di Visual Studio, .NET Core, Ant, Maven, Gulp e Grunt offrono anche la possibilità di pubblicare i dati di code coverage nella pipeline. Se si usano queste attività, nella pipeline non è necessaria un'attività Pubblica risultati code coverage separata.

Per generare il report di code coverage HTML, è necessario dotnet framework 2.0.0 o versione successiva nell'agente. La cartella dotnet deve trovarsi nel percorso dell'ambiente. Se sono presenti più cartelle contenenti dotnet, quella con la versione 2.0.0 deve essere prima di qualsiasi altra cartella nell'elenco dei percorsi.

Risultati del code coverage per JavaScript con Istanbul con YAML

Per pubblicare risultati di code coverage per JavaScript con Istanbul usando YAML, vedere Personalizzare JavaScript nella sezione Ecosistemi di questi argomenti, che include anche esempi per altri linguaggi.

Vedere un esempio di pubblicazione del code coverage con Cobertura.

Docker

Per le app che usano Docker, la compilazione e i test possono essere eseguiti all'interno del contenitore e generare risultati di code coverage all'interno del contenitore. Per pubblicare i risultati nella pipeline, gli artefatti risultanti devono essere resi disponibili per l'attività Pubblica risultati code coverage . Per riferimento, è possibile visualizzare un esempio simile per la pubblicazione dei risultati dei test nella sezione Compilazione, test e pubblicazione dei risultati con un file Docker per Docker.

Visualizzazione dei risultati

Per visualizzare i risultati del code coverage nella pipeline, vedere Esaminare i risultati del code coverage.

I dati di code coverage vengono uniti quando nella pipeline vengono forniti più file come input per l'attività o più attività?

Al momento, la funzionalità di creazione di report di code coverage fornita da questa attività è limitata e non unisce i dati di coverage. Se si specificano più file come input per l'attività, viene considerata solo la prima corrispondenza. Se si usano più attività di pubblicazione code coverage nella pipeline, il riepilogo e il report vengono visualizzati per l'ultima attività. Tutti i dati caricati in precedenza vengono ignorati.

Problemi noti

L'attività pubblica risultati code coverage genera e pubblica il report HTML, ovvero un set di file HTML collegati dal file index.html principale. Se la scheda code coverage non visualizza il report code coverage, verificare se le dimensioni del file index.html sono vicine o superiori a 7 MB. Completare i passaggi seguenti per controllare le dimensioni del file. Quindi, se le dimensioni del file sono vicine o superiori a 7 MB, è possibile usare la soluzione alternativa seguente per visualizzare il report di copertura.

  1. Selezionare la scheda Riepilogo compilazione e quindi selezionare il collegamento pubblicato :

    Screenshot che mostra il collegamento pubblicato nel riquadro Riepilogo.

  2. Accanto all'artefatto code coverage Report_* , selezionare Scarica artefatti:

    Screenshot che mostra il collegamento Scarica artefatti per il report di code coverage in Artefatti.

  3. Quando il report di code coverage viene scaricato, estrarre il file .zip.

  4. Nel report code coverage controllare le dimensioni di index.html per determinare se le dimensioni del file causano il problema descritto qui.

  5. Aprire index.html in un browser per visualizzare il report di code coverage.

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Questa attività dispone dell'autorizzazione per impostare le variabili seguenti: l'impostazione delle variabili è disabilitata
Versione agente 2.182.1 o versione successiva
Categoria attività Test
Requisito Descrizione
Tipi di pipeline YAML, build classica
Esecuzione in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.102.0 o versione successiva
Categoria attività Test

Vedi anche