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

Posted

技术标签:

【中文标题】Azure DevOps:如何为不同的测试(.net core、angular)合并两个代码覆盖率报告【英文标题】:Azure DevOps: How to merge two code coverage reports for different tests (.net core, angular) 【发布时间】:2020-01-29 15:24:17 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

查看文档ReportGenerator 了解更多详情。

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

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

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

查看this thread了解更多详情。

希望这会有所帮助。

【讨论】:

以上是关于Azure DevOps:如何为不同的测试(.net core、angular)合并两个代码覆盖率报告的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Azure Pipelines 中的每个阶段使用不同的服务连接?

如何为 Azure 移动应用表设置架构?

主干开发主干发布,CI 如何为大型项目提供最优解?

如何为 iPhone 6+、6 和 5 指定不同的尺寸?

在 Azure DevOps 测试结果中查看单元测试说明

APIM:从 Azure DevOps CD 管道中的 Azure Blob 存储中检索策略 XML 失败,如收到错误,如提供的链接格式错误