多模块maven:测试覆盖jacoco声纳

时间:2013-03-26 17:38:27

标签: maven jenkins sonarqube jacoco

我有一个基本的maven多模块,父母是POM,有三个子模块:域名,服务和网络。

我已经在pom parent中添加了jacoco插件和所需的配置,以便将测试覆盖率报告附加到声纳很容易找到的单个文件中。

<build>
 <plugins>
  <plugin>
   <groupId>org.jacoco</groupId>
   <artifactId>jacoco-maven-plugin</artifactId>
   <version>0.6.2.201302030002</version>
   <configuration>
     <destFile>${project.basedir}/../target/jacoco.exec</destFile>
     <append>true</append> 
   </configuration>
   <executions>
    <execution>
     <id>jacoco-initialize</id>
     <goals>
      <goal>prepare-agent</goal>
     </goals>
    </execution>
   </executions>
  </plugin>
 </plugins>
</build>

我的问题是Sonar只显示第一个模块(域名)的测试覆盖率(即使我用编辑器打开文件,我看到其他模块的类名被附加在其中。

这种配置有什么问题?

对于它的价值,声纳分析来自Jenkins,而不是来自mvn声纳:声纳

2 个答案:

答案 0 :(得分:0)

您可以在此处查看我们的示例应用:https://github.com/SonarSource/sonar-examples/tree/master/projects/code-coverage/ut/maven/ut-maven-jacoco-runTests

您应该能够找到您的配置有什么问题。

答案 1 :(得分:0)

Jenkins配置是关键:当配置正确时,无需将所有内容附加到单个文件中。

我将此添加到配置中:

sonar.modules=xxx-domain,xxx-service,xxx-web

我删除了问题中给出的pom.xml中的配置标记。

它就像一个魅力

对于那些为此而烦恼的人,寻找有用的东西来指定声纳的jenkins项目配置