【问题标题】:SonarQube, Unit test coverage and integration test coverage separatelySonarQube、单元测试覆盖率和集成测试覆盖率分别
【发布时间】:2018-10-18 04:50:29
【问题描述】:

是否可以在 SonarQube 中分别查看/显示单元测试覆盖率和集成测试覆盖率? 笔记;我正在为 SonarQube 使用 JaCoCo 插件

【问题讨论】:

    标签: sonarqube sonarqube-scan sonarqube-ops


    【解决方案1】:

    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 中。

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 2014-02-21
      • 2015-03-13
      • 1970-01-01
      • 2014-10-25
      • 2021-07-09
      • 2022-07-01
      • 2014-04-06
      • 1970-01-01
      相关资源
      最近更新 更多