3
我们最近升级到SonarCube 4.3.2。在他之前的版本中(不记得它是什么),可以选择Jacoco作为代码覆盖率分析器,并将Maven中的排除项定义为一个简单属性;排除的课程仍然计入总覆盖率结果
例如
<properties>
<sonar.jacoco.excludes>*/cache/*:*/*Application.java</sonar.jacoco.excludes>
</properties>
随着SonarCube的这个版本,选择Jacoco的选项不再存在,所以我试图让它以另一种方式工作。许多许多关于这个问题的帖子,但他们没有解决我的问题。 我设法排除类,但是这些在SonarCube中显示为0%(并降低了总覆盖率)。通过上述财产排除似乎不再有效。
在我的POM我增加了以下插件:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.0.201210061924</version>
<configuration>
<excludes>
<exclude>**/SonarTest*</exclude>
</excludes>
</configuration>
<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报告类是完全排除。 SonarTest已经部分测试,但使用这个配置,它在Sonar中显示为0%,所以看起来排除工作在某种程度上是工作的。我怎样才能通知Sonar这些排除的类应该完全忽略覆盖面。
谢谢,我很肯定这会起作用,但我不想在声纳中定义这些排除。这很难保持,很容易迷路。它确实需要更接近实际的来源来定义。 – 2014-10-20 13:38:13
我明白你的观点,但恐怕现在还没有其他解决方案。 – 2014-10-20 13:43:36
链接已死亡。 – Thunderforge 2017-09-06 19:46:26