Azure DevOps:如何为不同的测试(.net core、angular)合并两个代码覆盖率报告

Dmi*_*min 9 unit-testing code-coverage karma-coverage azure-devops azure-pipelines

我们在管道中有两种不同类型的测试:单元(.net 核心)和前端(角度/业力)。他们每个人都可以通过“PublishCodeCoverageResults@1”发布代码覆盖率报告,但只有一个正面或背面。这取决于最后运行的测试。我认为最后的报道 owerwrites 以前。但是我们需要同时发布代码覆盖率。

有没有办法合并 2 个覆盖率报告,然后在一个代码覆盖率选项卡中发布它们或添加第二个选项卡?

Leo*_*SFT 9

有没有办法合并 2 个覆盖率报告,然后在一个代码覆盖率选项卡中发布它们或添加第二个选项卡?

AFAIK,ReportGenerator 可以将多个覆盖文件合并为一个,例如将多个 Cobertura XML 文件合并为一个 Cobertura XML 文件:

查看文档ReportGenerator以获取更多详细信息。

您可以在 Azure DevOps 中执行以下步骤:

  • 安装 ReportGenerator 扩展:https ://marketplace.visualstudio.com/items ? itemName = Palmmedia.reportgenerator
  • 配置 ReportGenerator 任务以生成 HTML 和 Cobertura(这是默认设置)
  • 配置发布代码覆盖率结果任务,指向HTML文件目录和ReportGenerator生成的合并后的Cobertura文件

目前,发布代码覆盖率结果任务会重新生成 HTML 报告。为避免这种情况,您必须创建一个新的环境变量:disable.coverage.autogenerate: 'true'

检查此线程以获取更多详细信息。

希望这可以帮助。