SonarQube + Reports 中未显示的依赖模块中的聚合覆盖率或覆盖率由 Jacoco 生成
Aggregated Coverage or Coverage in the dependent modules not shown in SonarQube + Reports are generated by Jacoco
我是 运行 jacoco
插件来生成 html , xml 和 jacoco.exec
报告来衡量我 [= 测试的代码的覆盖率13=] 测试。
我在本地和 Jenkins
中成功生成了这些报告,我所有的单元测试结果都反映在 Sonar
中,它显示了覆盖率。
我的jacoco.exec
既有模块中的覆盖结果,也有依赖模块的结果。我已经使用 eclemma plugin
for eclipse
.
验证了这一点
我没有在 Sonar.Does 中的任何一个依赖模块中得到覆盖率结果,我做错了什么。
我的插件是这样的
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
我的目标是 jacoco:report-aggregate
我从jacoco plugin coverage in multi-module
那里得到了答案
以下是我造成问题的错误。在我们的 pom
的属性中
<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
在插件中
<destFile>${sonar.jacoco.reportPath}</destFile>
对我来说,由于 maven 模块层次结构的差异,上述语句刷新了不同文件夹中的 jacoco.exec
,因此它们从未聚合。
第二点,依赖模块的覆盖率只有对测试模块compile time dependency
才会获取
我是 运行 jacoco
插件来生成 html , xml 和 jacoco.exec
报告来衡量我 [= 测试的代码的覆盖率13=] 测试。
我在本地和 Jenkins
中成功生成了这些报告,我所有的单元测试结果都反映在 Sonar
中,它显示了覆盖率。
我的jacoco.exec
既有模块中的覆盖结果,也有依赖模块的结果。我已经使用 eclemma plugin
for eclipse
.
我没有在 Sonar.Does 中的任何一个依赖模块中得到覆盖率结果,我做错了什么。
我的插件是这样的
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
我的目标是 jacoco:report-aggregate
我从jacoco plugin coverage in multi-module
那里得到了答案以下是我造成问题的错误。在我们的 pom
的属性中 <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
在插件中
<destFile>${sonar.jacoco.reportPath}</destFile>
对我来说,由于 maven 模块层次结构的差异,上述语句刷新了不同文件夹中的 jacoco.exec
,因此它们从未聚合。
第二点,依赖模块的覆盖率只有对测试模块compile time dependency
才会获取