PublishCodeCoverageResults@2 - 发布代码覆盖率结果 v2 任务

使用此任务从生成获取代码覆盖率结果。

语法

# Publish code coverage results v2
# Publish any of the code coverage results from a build.
- task: PublishCodeCoverageResults@2
  inputs:
    summaryFileLocation: # string. Required. Path to summary files. 
    #pathToSources: # string. Path to Source files. 
    #failIfCoverageEmpty: false # boolean. Fail if code coverage results are missing. Default: false.

输入

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 容器中运行测试,则可以使用此输入。


failIfCoverageEmpty - 如果缺少代码覆盖率结果,则失败
boolean. 默认值:false

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


任务控制选项

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

输出变量

无。

备注

注意

有关 发布代码覆盖率结果任务 V2 中的新功能以及从 V1 迁移到 V2 的信息,请参阅 Azure DevOps 博客 上的新版本发布代码覆盖率结果任务。

在生成管道中使用此任务将测试运行到 Azure Pipelines 或 TFS 时以及生成覆盖率 xml 文件后生成的代码覆盖率结果发布,以获取管道中的代码覆盖率选项卡和覆盖率报告详细信息。 该任务支持代码覆盖率生成的 xml 格式。 此任务将生成一个 cjson 文件,其中包含代码覆盖率详细信息。 它还会在生成项目下生成代码覆盖率 HTML 报告。

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

Visual Studio 测试.NET CoreAntMavenGulpGrunt 等任务还提供将代码覆盖率数据发布到管道的选项。 如果使用这些任务,则不需要在管道中单独执行“发布代码覆盖率结果”任务。

先决条件 - 若要在管道中使用发布代码覆盖率结果 v2 任务,请在管道中使用 dotnet 7.0.x 任务作为先决条件。 在发布代码覆盖率 v2 任务之前使用 dotnet 核心任务。

先决条件

若要使用 YAML 管道配置先决条件,请执行以下操作:

# Dotnet core sdk task 7.0.x
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 7.0.x'
  inputs:
    version: 7.0.x

使用设计器配置先决条件:

显示管道中.Net Core Sdk 任务的屏幕截图。

  1. 使用以下设置配置发布代码覆盖率结果版本 2 任务。

    显示发布代码覆盖率结果 v2 任务的屏幕截图

  2. 生成完成后,发布代码覆盖率结果 v2 任务成功后,选择管道运行摘要中的“ 代码覆盖率 ”选项卡以查看代码覆盖率结果。

    显示“发布代码覆盖率 V2”任务生成的“代码覆盖率”选项卡的屏幕截图

使用 YAML 将 JavaScript 与伊斯坦布尔配合使用的代码覆盖率结果

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

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

Docker

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

查看结果

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

已知问题

发布代码覆盖率结果 v2 任务生成 cjson 文件,并在代码覆盖率选项卡下发布代码覆盖率报告。它还生成一个生成项目,这是一组从 main index.html 文件链接的 HTML 文件。 如果代码覆盖率选项卡无法显示代码覆盖率报告,检查输入代码覆盖率 xml 文件的格式是否正确且是否具有有效的详细信息。

要求

要求 说明
管道类型 YAML,经典版本
运行平台 Agent
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 2.144.0 或更高版本
任务类别 测试

另请参阅

  • 发布测试结果