首页 文章

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

提问于
浏览
0

我有一个基本的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只显示第一个模块(域)的测试覆盖率(即使我用编辑器打开文件,我看到其他模块的类名被附加在其中 .

这个配置有什么问题?

对于它的 Value ,声纳分析是从詹金斯调用的,而不是来自mvn声纳:声纳

2 回答

  • 0

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

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

  • 0

    Jenkins配置是关键:当配置正确时,不需要在一个文件中附加所有内容 .

    我把它添加到配置中:

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

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

    它就像一个魅力

    对于那些与此斗争的人,寻找有用的东西来指定声纳的jenkins项目配置

相关问题