SonarQube,Maven,Jacoco - 代码覆盖率显示为100%但没有文件级别详细信息

时间:2016-07-29 16:38:21

标签: maven sonarqube code-coverage sonarqube-scan jacoco-maven-plugin

  • Sonar 4.5.6
  • Maven3.3.9
  • Jacoco 0.7.7.201606060606
  • 詹金斯

使用上述组合,我能够

  • 成功构建我的项目
  • 所有单元测试通过
  • jacoco正在创建/target/jacoco.exec文件
  • sonarQube将单位测试覆盖率显示为100%

但是,我遇到的问题是,SonarQube中没有显示文件级覆盖率。

当我在本地方框中使用SonarQube运行分析时,我得到的覆盖结果如下图1所示。

Figure 1: Results from local SonarQube

但是,当远程Jenkins构建运行时,它仅显示如图2所示的这一部分。

Figure 2: Results from remote SonarQube

我在两个地方使用相同的命令mvn clean deploy sonar:sonar,但结果不同。我在这里缺少什么?

更新

这是我打开target/site/jacoco/index.html时看到的内容。所以,看起来Jacoco正在生成所需的所有信息。声纳无法识别它。Jacoco report

添加日志中的信息。如评论中所述,找到target/jacoco.exectarget/sonar/jacoco-overall.exec,大小为15KB。

[INFO] [10:08:22.666] Sensor SurefireSensor done: 88 ms
[INFO] [10:08:22.666] Sensor JaCoCoOverallSensor...
[INFO] [10:08:22.675] Analysing /opt/sbs/.jenkins/jobs/CdnJwt/workspace/trunk/target/jacoco.exec
[INFO] [10:08:22.688] Analysing /opt/sbs/.jenkins/jobs/CdnJwt/workspace/trunk/target/sonar/jacoco-overall.exec
[INFO] [10:08:22.744] No information about coverage per test.
[INFO] [10:08:22.744] Sensor JaCoCoOverallSensor done: 78 ms
[INFO] [10:08:23.557] Sensor JaCoCoSensor...
[INFO] [10:08:23.558] Analysing     /opt/sbs/.jenkins/jobs/CdnJwt/workspace/trunk/target/jacoco.exec
[INFO] [10:08:23.566] No information about coverage per test.
[INFO] [10:08:23.566] Sensor JaCoCoSensor done: 9 ms

0 个答案:

没有答案