6

我们最近升级到 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 这些被排除的类应该在覆盖范围内完全忽略。

4

0 回答 0