【发布时间】:2014-02-19 17:54:38
【问题描述】:
我们正在使用 Sonar Ant Runner 报告项目统计数据。在 ant-build 运行所有测试并使用 JaCoCo 计算覆盖率后,我们会收集现有报告文件。所以我们在属性中使用“reuseReports”,见下文。
现在发生的情况是测试运行良好,JaCoCo 捕获覆盖率很好,JaCoCo 覆盖率报告本身看起来很正常,但 Sonar 只在覆盖率部分显示几个类,很多类都丢失了。
单元测试、违规、债务等其他部分看起来还可以,只是覆盖范围有误。
构建文件看起来像这样,我们使用 pre-2.0 兼容格式,因为我们有许多定义为 ant-Properties 的库,我们尚未将它们转换为 sonar.libraries=... 格式:
....
<property name="sonar.dynamicAnalysis" value="reuseReports" />
<property name="sonar.sourceEncoding" value="UTF-8" />
<property name="sonar.projectVersion" value="2.0" />
<!-- surefire will become junit in some version of Sonar -->
<property name="sonar.surefire.reportsPath" value="report" />
<property name="sonar.junit.reportsPath" value="report" />
<property name="sonar.jacoco.reportPath" value="merged.exec" />
<!-- Add the target -->
<target name="sonar" depends="mergecoverage">
<echo message="Running Sonar analysis" />
<sonar:sonar key="${sonar.projectKey}" version="2.0" xmlns:sonar="antlib:org.sonar.ant">
<sources>...</sources>
<tests>...</tests>
<binaries>...</binaries>
<libraries>...</libraries>
</sonar:sonar>
</target>
似乎我可以打开的日志记录不多了,知道为什么 Sonar 只显示几个类的覆盖范围吗?
【问题讨论】:
标签: sonarqube jacoco sonar-runner