PublishCodeCoverageResults@1 - Publicar a tarefa de resultados da cobertura do código v1

Utilize esta tarefa para publicar resultados de cobertura de código Cobertura ou JaCoCo a partir de uma compilação.

Importante

Esta tarefa foi preterida. Recomenda-se que os utilizadores mudem para PublishCodeCoverageResults@2. Para obter mais informações, veja Nova versão da tarefa Publicar Resultados da Cobertura do Código.

Utilize esta tarefa para publicar resultados de cobertura de código Cobertura ou JaCoCo a partir de uma compilação.

Syntax

# 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.

Entradas

codeCoverageTool - Ferramenta de cobertura de código
string. Obrigatório. Valores permitidos: Cobertura, JaCoCo. Valor predefinido: JaCoCo.

Especifica a ferramenta que gera resultados de cobertura de código.


summaryFileLocation - Ficheiro de resumo
string. Obrigatório.

Especifica o caminho do ficheiro de resumo que contém estatísticas de cobertura de código, como a cobertura de linha, método e classe. Vários ficheiros de resumo são intercalados num único relatório. O valor pode conter padrões de minimatch. Por exemplo: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml.


pathToSources - Caminho para ficheiros de Origem
string.

É necessário especificar um caminho para os ficheiros de origem quando os relatórios XML de cobertura não contêm um caminho absoluto para os ficheiros de origem. Por exemplo, os relatórios jaCoCo não utilizam caminhos absolutos, por isso, ao publicar a cobertura jaCoCo para aplicações Java, o padrão é semelhante a $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Esta entrada deve apontar para um caminho absoluto para os ficheiros de origem no anfitrião. Por exemplo, $(System.DefaultWorkingDirectory)/MyApp/.

Esta entrada pode ser utilizada se os testes forem executados num contentor do Docker.

Podem ser adicionadas várias origens ao delimitar cada item de lista com o ; caráter, por exemplo pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - Diretório de relatórios
string.

Especifica o caminho do diretório de relatório HTML de cobertura de código. O diretório de relatórios é publicado para visualização posterior como um artefacto da compilação. O valor pode conter padrões de minimatch. Por exemplo: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura.


additionalCodeCoverageFiles - Ficheiros adicionais
string.

Especifica o padrão do caminho do ficheiro e anota quaisquer ficheiros de cobertura de código adicionais a publicar como artefactos da compilação. O valor pode conter padrões de minimatch. Por exemplo: $(System.DefaultWorkingDirectory)/**/*.exec.


failIfCoverageEmpty - Falha quando os resultados da cobertura do código estão em falta
boolean. Valor predefinido: false.

Falha na tarefa se a cobertura do código não produzir resultados para publicar.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Importante

Esta tarefa foi preterida. Recomenda-se que os utilizadores mudem para PublishCodeCoverageResults@2. Para obter mais informações, veja Nova versão da tarefa Publicar Resultados da Cobertura do Código.

Nota

Veja Nova versão da tarefa Publicar Resultados da Cobertura do Código no blogue do Azure DevOps para obter informações sobre as novas funcionalidades na V2 da tarefa Publicar Resultados da Cobertura do Código e migrar do V1 para o V2.

Utilize esta tarefa num pipeline de compilação para publicar os resultados de cobertura de código produzidos ao executar testes nos Pipelines do Azure ou no TFS para obter relatórios de cobertura. A tarefa suporta formatos de resultados de cobertura populares, como Cobertura e JaCoCo.

Esta tarefa só é suportada em pipelines de compilação e não em pipelines de versão.

Tarefas como o Visual Studio Test, .NET Core, Ant, Maven, Gulp e Grunt também fornecem a opção para publicar dados de cobertura de código no pipeline. Se estiver a utilizar estas tarefas, não precisa de uma tarefa de Resultados de Cobertura de Código de Publicação separada no pipeline.

Para gerar o relatório de cobertura do código HTML, precisa do dotnet framework 2.0.0 ou posterior no agente. A pasta dotnet tem de estar no caminho do ambiente. Se existirem várias pastas que contenham dotnet, a que contém a versão 2.0.0 tem de estar antes de outras na lista de caminhos.

Resultados de cobertura de código para JavaScript com Istambul com YAML

Para publicar resultados de cobertura de código para JavaScript com Istambul com YAML, veja Personalizar JavaScript na secção Ecossistemas destes tópicos, que também inclui exemplos para outros idiomas.

Veja um exemplo de cobertura de código de publicação com Cobertura.

Docker

Para aplicações que utilizam o Docker, a compilação e os testes podem ser executados dentro do contentor e gerar resultados de cobertura de código no contentor. Para publicar os resultados no pipeline, os artefactos resultantes devem ser disponibilizados para a tarefa Publicar Resultados de Cobertura do Código . Para referência, pode ver um exemplo semelhante para publicar resultados de teste na secção Compilar, testar e publicar resultados com um ficheiro do Docker para Docker.

Ver resultados

Para ver os resultados da cobertura do código no pipeline, veja Rever os resultados da cobertura do código.

Os dados de cobertura de código são intercalados quando são fornecidos vários ficheiros como entrada para a tarefa ou são utilizadas várias tarefas no pipeline?

Atualmente, a funcionalidade de relatório de cobertura de código fornecida por esta tarefa é limitada e não intercala dados de cobertura. Se fornecer vários ficheiros como entrada para a tarefa, apenas a primeira correspondência é considerada. Se utilizar várias tarefas de cobertura de código de publicação no pipeline, o resumo e o relatório serão apresentados para a última tarefa. Todos os dados carregados anteriormente são ignorados.

Problemas conhecidos

A tarefa de resultados de cobertura do código de publicação gera e publica o relatório HTML, que é um conjunto de ficheiros HTML que estão ligados a partir do ficheiro deindex.html principal. Se o separador cobertura do código não mostrar o relatório de cobertura do código, verifique se o tamanho do ficheiro deindex.html está próximo ou superior a 7 MB. Conclua os seguintes passos para verificar o tamanho do ficheiro. Em seguida, se o tamanho do ficheiro for próximo ou superior a 7 MB, pode utilizar a seguinte solução para ver o relatório de cobertura.

  1. Selecione o separador Compilar Resumo e, em seguida, selecione a ligação publicada :

    Captura de ecrã que mostra a ligação publicada no painel Resumo.

  2. Junto ao artefacto Cobertura do Código Report_* , selecione Transferir artefactos:

    Captura de ecrã que mostra a ligação Transferir artefactos para o relatório de cobertura de código em Artefactos.

  3. Quando o relatório de cobertura do código for transferido, extraia o ficheiro .zip.

  4. No relatório de cobertura do código, verifique o tamanho do index.html para ajudar a determinar se o tamanho do ficheiro está a causar o problema descrito aqui.

  5. Abra index.html num browser para ver o relatório de cobertura do código.

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Esta tarefa tem permissão para definir as seguintes variáveis: A definição de variáveis está desativada
Versão do agente 2.182.1 ou superior
Categoria da tarefa Teste
Requisito Description
Tipos de pipeline YAML, Compilação clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.102.0 ou superior
Categoria da tarefa Teste

Ver também