【发布时间】:2018-10-18 04:50:29
【问题描述】:
是否可以在 SonarQube 中分别查看/显示单元测试覆盖率和集成测试覆盖率? 笔记;我正在为 SonarQube 使用 JaCoCo 插件
【问题讨论】:
标签: sonarqube sonarqube-scan sonarqube-ops
是否可以在 SonarQube 中分别查看/显示单元测试覆盖率和集成测试覆盖率? 笔记;我正在为 SonarQube 使用 JaCoCo 插件
【问题讨论】:
标签: sonarqube sonarqube-scan sonarqube-ops
https://blog.sonarsource.com/sonarqube-6-2-in-screenshots
这种可能性在 6.2 中被放弃了 -> 请查看博文
// 编辑:对不起,我没电了,跟进
它被合并的原因是,除了声纳插件之外,大多数插件几乎没有提供集成、烟雾、单元和任何覆盖范围之间的足够区别。
以前有一篇关于它的好博客文章,但我找不到了 -> 关于 6.2 的信息。只是一个版本,他们将所有这些内容合并为一个整体覆盖范围。
因此,目前还没有办法将 Coverage 分成多个不同的版本。
补充阅读和更好的解释可以在 sonarsource 的 jira ticket 中找到: https://jira.sonarsource.com/browse/MMF-345
一些问题
我们正在处理提供非同质数据的多种覆盖工具。有些仅提供汇总的项目级覆盖率指标;一些提供文件级覆盖数据;和其他人提供逐行覆盖数据。使用提供不同数据集的工具跨多种语言计算项目覆盖率是一场噩梦。
您如何计算条件的总体覆盖率?如果单元测试数据表明覆盖了一行上 4 个条件中的 2 个,而集成测试数据表明覆盖了 4 个条件中的 2 个......那么总覆盖率是 2 个、3 个还是 4 个(共 4 个)?
当报告仅包含文件子集的数据时,您如何计算项目的覆盖率?它们是否因为不可执行或根本没有被覆盖而被覆盖引擎“遗漏”而从数据中丢失?
您如何识别哪些文件是“可测试的”,以便将它们的超龄强制设为 0?例如。并非所有带有 nLoC 的 .java 文件都是可测试的(接口) 有些项目只有集成测试;这是他们的主要测试手段。但是集成测试在度量计算方面的处理方式与单元测试不同。如何拥有一个QG?解决方案是全面覆盖,但我们回到聚合问题。 BTW 整体覆盖范围不再显示在 UI 中。
【讨论】: