- 声纳 4.5.6
- Maven3.3.9
- 雅可可 0.7.7.201606060606
- 詹金斯
使用上述组合,我能够
- 成功构建我的项目
- 所有单元测试通过
- jacoco 正在创建
/target/jacoco.exec
文件 - sonarQube 将单元测试覆盖率显示为 100%
但是,我遇到的问题是,SonarQube 中未显示文件级覆盖率。
当我在本地盒子中使用 SonarQube 运行分析时,我得到了如下图 1 所示的覆盖结果。
但是,当远程 Jenkins 构建运行时,它只显示图 2 中所示的这一部分。
我在两个地方都使用相同的命令mvn clean deploy sonar:sonar
,但结果不同。我在这里想念什么?
更新:
这是我打开时看到的target/site/jacoco/index.html
。所以,看起来 Jacoco 正在生成所有需要的信息。声纳无法识别它。
添加在日志中找到的信息。正如评论中提到的,target/jacoco.exec
并且target/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