PublishCodeCoverageResults@1 - 发布代码覆盖率结果 v1 任务

使用此任务从生成发布 Cobertura 或 JaCoCo 代码覆盖率结果。

发布生成中的 Cobertura 或 JaCoCo 代码覆盖率结果。

使用此任务从生成发布 Cobertura 或 JaCoCo 代码覆盖率结果。

语法

# Publish code coverage results v1
- 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.

输入

codeCoverageTool - 代码覆盖率工具
string。 必填。 允许的值:CoberturaJaCoCo。 默认值:JaCoCo

指定生成代码覆盖率结果的工具。


summaryFileLocation - 摘要文件
string。 必填。

指定包含代码覆盖率统计信息的摘要文件的路径,例如行、方法和类覆盖率。 多个摘要文件合并到单个报表中。 该值可能包含微型模式。 例如:$(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml


pathToSources - 源文件的路径
string

当覆盖率 XML 报告不包含源文件的绝对路径时,需要指定源文件的路径。 例如,JaCoCo 报表不使用绝对路径,因此在发布 Java 应用的 JaCoCo 覆盖率时,模式类似于 $(System.DefaultWorkingDirectory)/MyApp/src/main/java/。 此输入应指向主机上源文件的绝对路径。 例如,$(System.DefaultWorkingDirectory)/MyApp/

如果在 Docker 容器中运行测试,则可以使用此输入。

可以通过用 ; 字符分隔每个列表项来添加多个源,例如 pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source


reportDirectory - 报表目录
string

指定代码覆盖率 HTML 报表目录的路径。 报表目录已发布,供以后查看为生成的项目。 该值可能包含微型模式。 例如:$(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura


additionalCodeCoverageFiles - 其他文件
string

指定要作为生成项目发布的任何其他代码覆盖率文件的文件路径模式和注释。 该值可能包含微型模式。 例如:$(System.DefaultWorkingDirectory)/**/*.exec


当缺少代码覆盖率结果时,failIfCoverageEmpty - 失败
boolean。 默认值:false

如果代码覆盖率未生成要发布的任何结果,则任务失败。


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性

输出变量

没有。

言论

在生成管道中使用此任务将运行测试时生成的代码覆盖率结果发布到 Azure Pipelines 或 TFS,以获取覆盖率报告。 该任务支持常见的覆盖结果格式,例如 CoberturaJaCoCo

此任务仅在生成管道中受支持,而不支持发布管道。

Visual Studio Test.NET CoreAntMavenGulp等任务,Grunt 还提供将代码覆盖率数据发布到管道的选项。 如果使用这些任务,则无需在管道中单独发布代码覆盖率结果任务。

若要生成 HTML 代码覆盖率报告,需要在代理上生成 dotnet framework 2.0.0 或更高版本。 dotnet 文件夹必须位于环境路径中。 如果有多个包含 dotnet 的文件夹,则具有版本 2.0.0 的文件夹必须位于路径列表中的任何其他文件夹之前。

使用 YAML 通过伊斯坦布尔的 JavaScript 的代码覆盖率结果

若要使用 YAML 发布 JavaScript 的代码覆盖率结果,请参阅这些主题的“生态系统”部分中 自定义 JavaScript,其中包括其他语言的示例。

请参阅使用 Cobertura发布代码覆盖率的 示例。

码头工人

对于使用 Docker 的应用,生成和测试可以在容器内运行,并在容器内生成代码覆盖率结果。 若要将结果发布到管道,应向 发布代码覆盖率结果 任务提供生成的项目。 有关参考,可以在 生成、测试和发布结果下看到类似的示例,其中包含 docker 文件 部分,Docker

查看结果

若要查看管道中的代码覆盖率结果,请参阅 查看代码覆盖率结果

当在管道中使用多个文件的输入或多个任务时,代码覆盖率数据是否合并?

目前,此任务提供的代码覆盖率报告功能有限,并且不会合并覆盖率数据。 如果向任务提供多个文件作为输入,则只考虑第一个匹配项。 如果在管道中使用多个发布代码覆盖率任务,则会显示最后一个任务的摘要和报告。 将忽略以前上传的任何数据。

已知问题

发布代码覆盖率结果任务生成并发布 HTML 报表,这是一组从主 index.html 文件链接的 HTML 文件。 如果代码覆盖率选项卡无法显示代码覆盖率报告,请检查 index.html 文件的大小是否接近或大于 7 MB。 完成以下步骤以检查文件大小。 然后,如果文件大小接近或大于 7 MB,则可以使用以下解决方法查看覆盖率报告。

  1. 选择生成 摘要 选项卡,然后选择已发布 链接

    显示“摘要”窗格中已发布链接的屏幕截图。

  2. 代码覆盖率Report_* 项目旁边,选择 下载项目

    屏幕截图,显示“项目”下代码覆盖率报告的“下载项目”链接。

  3. 下载代码覆盖率报告后,提取 .zip 文件。

  4. 在代码覆盖率报告中,检查 index.html 的大小,以帮助确定文件大小是否导致此处所述的问题。

  5. 在浏览器中打开 index.html 以查看代码覆盖率报告。

要求

要求 描述
管道类型 YAML,经典生成
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 此任务有权 设置以下变量:禁用设置变量
代理版本 2.182.1 或更高版本
任务类别 测试
要求 描述
管道类型 YAML,经典生成
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.102.0 或更高版本
任务类别 测试

另请参阅