【发布时间】:2016-04-07 19:04:49
【问题描述】:
我使用的是 SonarQube 4.5.4,SonarQube Runner 版本是 2.4。
我在sonar-project.properties 文件中定义了sonar.jacoco.reportPath=jacoco/jacoco-ut.exec(junit4 ant 任务的结果,它集成了 jacoco 作为覆盖工具)。
exec 文件看起来不错,它包含每个测试的所有覆盖率信息,我已经使用 EclEmma 2.3.2.201409141915 导入了它,并且所有覆盖率信息都在那里。
在 SonarQube 仪表板中,它以奇怪的方式反射:
cevarage 被视为整体/IT 覆盖范围,而不是 UT 覆盖范围。并且缺少 UT 覆盖率,顺便说一句,重复项也设置为 0%(这不是真的) 从声纳日志看起来是这样的:
08:24:34.604 INFO - Sensor SurefireSensor done: 713 ms
08:24:34.604 INFO - Sensor JaCoCoOverallSensor...
08:24:35.140 INFO - Analysing /ibmshome/cc/cctlg/sonar/sonar/ens-14023/./.sonar/ATT_MO_API_TlgServer_ATT_TlgServer_module/jacoco-overall.exec
08:24:52.505 INFO - No information about coverage per test.
08:24:52.505 INFO - Sensor JaCoCoOverallSensor done: 17901 ms
08:24:52.505 INFO - Sensor CoberturaSensor...
08:24:52.506 WARN - Cobertura report not found at /ibmshome/ibms/ibms/target/site/cobertura/coverage.xml
08:24:52.506 INFO - Sensor CoberturaSensor done: 1 ms
08:24:52.506 INFO - Sensor JaCoCoSensor...
08:24:52.815 INFO - Analysing /ibmshome/ibms/ibms/ccirp/proj/sbmsIrd1000/jacoco/jacoco-ut.exec
08:25:04.966 INFO - No information about coverage per test.
08:25:04.966 INFO - Sensor JaCoCoSensor done: 12460 ms
我找了很久的解决方案,也尝试更改属性并将sonar.jacoco.itReportPath添加为虚拟对象,也得到了相同的结果。
【问题讨论】:
标签: sonarqube code-coverage jacoco sonar-runner