配置Sonar以查看集成测试(v6.2)

时间:2017-01-21 23:42:37

标签: maven sonarqube integration-testing code-coverage

如何在声纳中可视化集成测试?

目前我只看到:

  • 全球覆盖范围(UT + IT)
  • UT的数量

enter image description here

我读到了我们必须在GUI中配置小部件的地方:我没有看到任何可以做到这一点的选项。

文档说明:

  

如果单位测试的覆盖率不是通过JaCoCo计算的,那么总体而言   coverage =集成测试覆盖率。

但在我的情况下,我发现当我更改我的UT(或IT)时,覆盖范围正在发生变化。此外,我在目标中看到了jacoco报告:

  • jacoco.exec
  • jacoco-it.exec

我最终尝试了官方的声纳样品:它是一样的!我没有找到任何明显分开的样本:

  • 单元测试覆盖率
  • 集成测试覆盖率
  • 整体测试覆盖率

很抱歉,但声纳文档和样本必须改进......

上下文: sonar6.2,java8,spring boot,modular project,maven,surefire&故障安全

2 个答案:

答案 0 :(得分:7)

从SonarQube 6.2开始,所有测试结果都合并到" coverage"中。这是基于以下理论来完成的:大多数人并不关心他们的代码是如何被覆盖的,只有 它被覆盖。

通过这一变化,一些数学上的不一致性w / r / t如何从单元测试与积分测试中计算总体覆盖率,并且还增加了提供许多不同覆盖率报告的能力。 (有些人有单位,整合,吸烟......测试)。

关于

  

我读到了我们必须在GUI中配置小部件的地方:我没有看到任何可以做到这一点的选项。

在6.2中删除了仪表板,因此没有要配置的小部件。覆盖范围自动显示在项目主页上。

答案 1 :(得分:2)

合并单元测试覆盖率和集成测试覆盖率数字并不是一个好主意。

模拟所有依赖项和环境因素的现代单元测试已被证明在开发人员本地计算机上运行,​​但在持续集成环境中无法定义失败。这使得它们几乎无法在CI环境中运行。因此,100%单元测试覆盖率但0%集成测试覆盖率意味着CI构建中实际上没有发生有意义的测试。