Test: Publish Code Coverage Results

Azure Pipelines | TFS 2018 | TFS 2017 | TFS 2015

icon This task publishes code coverage results to Azure pipelines or TFS, which were produced by a build in Cobertura or JaCoCo format. In addition there are built-in tasks such as Visual Studio Test, .NET Core, Ant, Maven, Gulp, Grunt and Gradle that provide the option to publish code coverage data to the pipeline.

Example below shows Ant task with the option to publish code coverage data in Cobertura or JaCoCo format.

Publish code coverage results ant

Demands

[none]

YAML snippet

# Publish Code Coverage Results
# Publish Cobertura or JaCoCo code coverage results from a build
- task: PublishCodeCoverageResults@1
  inputs:
    #codeCoverageTool: 'JaCoCo' # Options: cobertura, jaCoCo
    summaryFileLocation: 
    #reportDirectory: # Optional
    #additionalCodeCoverageFiles: # Optional
    #failIfCoverageEmpty: false # Optional

The codeCoverageTool and summaryFileLocation parameters are mandatory.

To publish code coverage results for Javascript with istanbul using YAML, see JavaScript in the Languages section of these topics, which also includes examples for other languages.

Arguments

ArgumentDescription
Code coverage tool(Required) The tool with which code coverage results are generated. The supported formats include Cobertura and JaCoCo.
Summary file(Required) Path of the summary file containing code coverage statistics, such as line, method, and class coverage. The value may contain minimatch patterns. For example: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml
Report directory(Optional) Path of the code coverage HTML report directory. The report directory is published for later viewing as an artifact of the build. The value may contain minimatch patterns. For example: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura
Additional files(Optional) File path pattern specifying any additional code coverage files to be published as artifacts of the build. The value may contain minimatch patterns. For example: $(System.DefaultWorkingDirectory)/**/*.exec
Fail when code coverage results are missing(Optional) Available only on Azure Pipelines and TFS 2018 and later. Fail the task if code coverage did not produce any results to publish.
Control options

Docker

For apps using docker, build and tests may run inside the container, generating code coverage results within the container. In order to publish the results to the pipleine, the resulting artifacts should be to be made available to the Publish Code Coverage Results task. For reference you can see a similar example for publishing test results under Build, test, and publish results with a Docker file section for Docker.

View results

In order to view the code coverage results in the pipleine, see Review code coverage results

Open source

This task is open source on GitHub. Feedback and contributions are welcome.

Q & A

I use TFS on-premises and I don't see some of these features. Why not?

Some of these features are available only on Azure Pipelines and not yet available on-premises. Some features are available on-premises if you have upgraded to the latest version of TFS.

Help and support