我使用Jacoco eclipse插件来测量单元测试覆盖率,并且我能够使用它导出报告。我想将该报告与声纳集成,因此我在项目属性文件中给出了它的路径。 我的属性文件看起来像这样
# Required metadata
sonar.projectKey=key
sonar.projectName=name
sonar.projectVersion=1.0
sonar.jacoco.reportPath=jacoco.exec
sonar.tests=junit
sonar.dynamicAnalysis=reuseReports
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reportMissing.force.zero=true
# Comma-separated paths to directories with sources (required)
sonar.sources=src
# Comma-separated paths to directories with tests (optional)
sonar.tests=test
# Encoding of the source files
sonar.sourceEncoding=UTF-8
# Language
sonar.language=java
当我执行声纳 - 跑步者时,控制台输出中存在以下行:
16:23:13.219 INFO - Sensor JaCoCoItSensor...
16:23:13.219 INFO - No JaCoCo analysis of project coverage can be done since there is no class files.
16:23:13.219 INFO - Sensor JaCoCoItSensor done: 0 ms
16:23:13.219 INFO - Sensor JaCoCoOverallSensor...
16:23:13.219 INFO - Sensor JaCoCoOverallSensor done: 0 ms
16:23:13.219 INFO - Sensor JaCoCoSensor...
16:23:13.219 INFO - No JaCoCo analysis of project coverage can be done since there is no class files.
单元测试覆盖率小部件也显示“无数据”。 为什么我无法让Sonar显示覆盖率结果?这样做的正确方法是什么? 这是我对Jacoco的第一次体验,我也是Sonar的新手,因此非常感谢详细的指南。
答案 0 :(得分:12)
您必须指定“sonar.binaries”属性,该属性指向编译类的文件夹。