unit-testing - Azure DevOps:如何为不同的测试(.net core、angular)合并两个代码覆盖率报告
问题描述
我们在管道中有两种不同类型的测试:单元(.net 核心)和前端(角度/业力)。他们每个人都可以通过“PublishCodeCoverageResults@1”发布代码覆盖率报告,但只有一个正面或背面。这取决于最后运行哪个测试。我认为最后的报道覆盖了以前的报道。但是,我们需要同时发布代码覆盖率。
有没有办法合并 2 个覆盖率报告,然后在一个代码覆盖率选项卡中发布它们或添加第二个选项卡?
解决方案
有没有办法合并 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'
检查此线程以获取更多详细信息。
希望这可以帮助。
推荐阅读
- python-3.x - importlib_resources backport 与 pyfakefs 不兼容?
- r - mutate:在分组的df(dplyr)中选择除当前行之外的所有行
- python - 如何将光标放在 QTableWidget 单元格的开头
- python - 使用python从文件中导入损坏的矩阵
- c# - 在 C# 中初始化列表数组
- javascript - 为什么 JavaScript 将名为“name”的数组解析为字符串
- neo4j - Neo4J:如何为每个收集将属性增加 1
- r - 循环中的 R 降价 - plotly 和 dygraph 不起作用
- reactjs - 如何显示当前月份?
- java - 在杰克逊中序列化/反序列化别名原语而没有太多样板