【问题标题】:Integration tests count ignored in coverage measures覆盖度量中忽略的集成测试计数
【发布时间】:2017-10-24 12:44:18
【问题描述】:

我正在运行一个 Maven 多模块项目,并使用 Sonar Runner 分析 SonarQube 6.3 的项目。该项目在每个模块中都包含单元测试和集成测试。我成功地在target/jacoco-ut.exectarget/jacoco-it.exec 中为UT 和IT 生成了报告。 我认为 Sonar Runner 的分析参数很好,因为我可以看到两个报告都在分析过程中被处理和合并。

  1. 从 SonarQube 6.3 开始,单元测试和集成测试之间不再有区别,尽管报告的唯一度量是“单元测试”,这表明集成测试被忽略了。

  2. 当我查看 SonarQube 中的覆盖度量时,我很惊讶,因为报告的测试数量不是单元测试数量和集成测试数量之和。集成测试未在措施中列出。对我来说,如果在 SonarQube 中合并了单元测试和集成测试,我知道它们都应该出现在度量中,但事实并非如此。 我在 SonarQube 文档中找不到任何关于集成测试包含在度量中的内容。只有注释表明它们在分析过程中被合并,尽管我在覆盖率测量中没有看到任何关于我的集成测试的信息。

如何在覆盖度量中查看集成测试和单元测试?

【问题讨论】:

    标签: maven sonarqube integration-testing


    【解决方案1】:

    所有测试现在都合并到“覆盖率”中,因此这些数字包括 UT 和 IT 覆盖率的总和。但是在合并之前,没有关于集成测试本身的指标(测试计数、持续时间、错误等),因此没有什么可以合并的。

    事实上,关于测试的指标(计数、错误...)在一般情况下确实不被视为相关的,并且仅因为它们已被继承而保留在系统中。

    【讨论】:

    • 您好,感谢您的回答。我认为 UT 和 IT 的总和是错误的,就我而言,只有 UT 是计数的,即使我可以在 Sonar Runner 分析期间看到 UT 和 IT 合并。比如我有 10 个 UT 和 5 个 IT,Sonar 分析后提供的计数是 10。我预计是 15。这就是为什么我问如何查看 IT 的数量。
    • 我的情况也一样。计算的覆盖率是正确的,并且包含来自 UT 和 IT 的覆盖率。但是测试的次数是错误的,只是UT的次数。安,指标可能相关或不相关。如果没有,请从 UI 中删除它们。但是显示错误的数字是最糟糕的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2017-11-22
    相关资源
    最近更新 更多