PublishCodeCoverageResults@1 – Tarefa Publicar resultados da cobertura de código v1

Use esta tarefa para publicar os resultados da cobertura de código Cobertura ou JaCoCo de um build.

Importante

Essa tarefa foi preterida. É recomendável que os usuários mudem para PublishCodeCoverageResults@2. Para obter mais informações, consulte Nova versão da tarefa Publicar Resultados da Cobertura de Código.

Use esta tarefa para publicar os resultados da cobertura de código Cobertura ou JaCoCo de um build.

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órios. Valores Permitidos: Cobertura e JaCoCo. Valor padrão: JaCoCo.

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


summaryFileLocation - Arquivo de resumo
string. Obrigatórios.

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


pathToSources - Caminho para arquivos de origem
string.

Especificar um caminho para arquivos de origem é necessário quando os relatórios XML de cobertura não contêm um caminho absoluto para arquivos de origem. Por exemplo, os relatórios jacoco não usam caminhos absolutos, portanto, ao publicar a cobertura JaCoCo para aplicativos Java, o padrão é semelhante a $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Essa entrada deve apontar para um caminho absoluto para arquivos de origem no host. Por exemplo, $(System.DefaultWorkingDirectory)/MyApp/.

Essa entrada poderá ser usada se os testes forem executados em um contêiner do Docker.

Várias fontes podem ser adicionadas delimitando cada item de lista com o ; caractere , por exemplo pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - Diretório de relatório
string.

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


additionalCodeCoverageFiles - Arquivos adicionais
string.

Especifica o padrão de caminho do arquivo e observa todos os arquivos de cobertura de código adicionais a serem publicados como artefatos do build. O valor pode conter padrões de minimatch. Por exemplo: $(System.DefaultWorkingDirectory)/**/*.exec.


failIfCoverageEmpty - Falha quando os resultados da cobertura de código estão ausentes
boolean. Valor padrão: false.

Falha na tarefa se a cobertura de código não produzir resultados a serem publicados.


Opções de controle da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Comentários

Importante

Essa tarefa foi preterida. É recomendável que os usuários mudem para PublishCodeCoverageResults@2. Para obter mais informações, consulte Nova versão da tarefa Publicar Resultados da Cobertura de Código.

Observação

Consulte Nova versão da tarefa Publicar Resultados de Cobertura de Código no blog do Azure DevOps para obter informações sobre os novos recursos na V2 da tarefa Publicar Resultados de Cobertura de Código e migrar da V1 para a V2.

Use essa tarefa em um pipeline de build para publicar os resultados de cobertura de código produzidos ao executar testes no Azure Pipelines ou no TFS para obter relatórios de cobertura. A tarefa é compatível com formatos de resultados de cobertura populares como o Cobertura e o JaCoCo.

Essa tarefa só tem suporte em pipelines de build, não em pipelines de lançamento.

Tarefas como Teste do Visual Studio, .NET Core, Ant, Maven, Gulp e Grunt também fornecem a opção de publicar dados de cobertura de código no pipeline. Se você estiver usando essas tarefas, não precisará de uma tarefa Publicar Resultados de Cobertura de Código separada no pipeline.

Para gerar o relatório de cobertura de código HTML, você precisa da estrutura dotnet 2.0.0 ou posterior no agente. A pasta dotnet deve estar no caminho do ambiente. Se houver várias pastas contendo o dotnet, a que tem a versão 2.0.0 deve preceder qualquer outra na lista de caminhos.

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

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

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

Docker

Para aplicativos que usam o Docker, o build e os testes podem ser executados dentro do contêiner e gerar resultados de cobertura de código dentro do contêiner. Para publicar os resultados no pipeline, os artefatos resultantes devem ser disponibilizados para a tarefa Publicar Resultados de Cobertura de Código . Para referência, você pode ver um exemplo semelhante para publicar resultados de teste na seção Compilar, testar e publicar resultados com um arquivo do Docker para Docker.

Exibir os resultados

Para exibir os resultados da cobertura de código no pipeline, confira Examinar os resultados da cobertura de código.

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

No momento, a funcionalidade de relatório de cobertura de código fornecida por essa tarefa é limitada e não mescla dados de cobertura. Se você fornecer vários arquivos como entrada para a tarefa, somente a primeira correspondência será considerada. Se você usar várias tarefas de cobertura de código de publicação no pipeline, o resumo e o relatório serão mostrados para a última tarefa. Todos os dados carregados anteriormente serão ignorados.

Problemas conhecidos

A tarefa publicar resultados de cobertura de código gera e publica o relatório HTML, que é um conjunto de arquivos HTML vinculados do arquivo index.htmlmain. Se a guia cobertura de código não mostrar o relatório de cobertura de código, verifique se o tamanho do arquivo deindex.html é próximo ou maior que 7 MB. Conclua as etapas a seguir para verificar o tamanho do arquivo. Em seguida, se o tamanho do arquivo for próximo ou maior que 7 MB, você poderá usar a solução alternativa a seguir para exibir o relatório de cobertura.

  1. Selecione a guia Resumo do build e, em seguida, selecione o link publicado:

    Captura de tela que mostra o link publicado no painel Resumo.

  2. Ao lado do artefato Relatório de Cobertura de Código_* , selecione Baixar artefatos:

    Captura de tela que mostra o link Baixar artefatos para o relatório de cobertura de código em Artefatos.

  3. Quando o relatório de cobertura de código for baixado, extraia o arquivo .zip.

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

  5. Abra index.html em um navegador para exibir o relatório de cobertura de código.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Essa tarefa tem permissão para definir as seguintes variáveis: A configuração de variáveis está desabilitada
Versão do agente 2.182.1 ou superior
Categoria da tarefa Teste
Requisito Descrição
Tipos de pipeline YAML, build clássico
Executa em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.102.0 ou superior
Categoria da tarefa Teste

Confira também