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 中的每个阶段使用不同的服务连接?
APIM:从 Azure DevOps CD 管道中的 Azure Blob 存储中检索策略 XML 失败,如收到错误,如提供的链接格式错误