Sonar仅为极少数课程显示JaCoCo报道

时间:2014-01-28 12:18:11

标签: sonarqube jacoco sonar-runner

我们正在使用Sonar Ant Runner来报告项目统计信息。我们在ant-build运行所有测试并使用JaCoCo计算覆盖率后收集现有的报告文件。所以我们在属性中使用“reuseReports”,见下文。

现在发生的情况是测试运行良好,JaCoCo捕获覆盖率很好,JaCoCo覆盖报告本身看起来很清醒,但Sonar只在coverage部分显示了几个类,很多类都缺失了。

其他部分如单元测试,违规,债务......看起来不错,只有报道错误。

构建文件看起来像这样,我们使用2.0之前的兼容格式,因为我们有许多libs定义为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只显示几个类的覆盖范围?

1 个答案:

答案 0 :(得分:0)

我实际上自己找到了解决方案:它似乎是由声纳-jacoco-plugin中的一个错误引起的。版本1.2有一个错误,因此它只包含第一个二进制目录。

这在sonar-jacoco-plugin的1.3版中得到修复。

有关详细信息,请参阅http://jira.codehaus.org/browse/SONARJAVA-164