0

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

我在 pom 父级中添加了 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 仅显示第一个模块(作为域)的测试覆盖率(即使我用编辑器打开文件,我看到其他模块的类名附加在其中。

这种配置有什么问题?

对于它的价值,声纳分析是从詹金斯调用的,而不是从 mvn sonar:sonar

4

2 回答 2

1

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

我将此添加到配置中:

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

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

它就像一个魅力

对于那些为此苦苦挣扎的人,寻找任何有用的东西来指定声纳的詹金斯项目配置

于 2013-03-27T15:21:31.117 回答
0

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

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

于 2013-03-27T08:57:10.443 回答