被排除的课程仍然计入总覆盖率结果

时间:2014-10-17 14:37:33

标签: maven jenkins sonarqube jacoco jacoco-maven-plugin

我们最近升级到SonarCube 4.3.2。在他之前的版本中(不记得它是什么)可以选择Jacoco作为代码覆盖率分析器,并将Maven中的排除定义为一个简单的属性;

e.g。

<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已经过部分测试,但是使用此配置它在声纳中显示为0%,因此似乎排除在某种程度上有效。我怎样才能告知Sonar这些被排除的类应该完全被忽略。

0 个答案:

没有答案