1

我在带有 Maven 的 Java 项目中使用 Coveralls 为我的项目创建覆盖率报告,并且我希望避免某些类包含在覆盖率计算中。

现在,我认为我可以在构建阶段排除该类,例如MyClassTest.java如下:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.5.201505241946</version>
    <executions>
        <execution>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <excludes>
            <exclude>**/*MyClassTest.java</exclude>
        </excludes>
    </configuration>
</plugin>
<plugin>
    <groupId>org.eluder.coveralls</groupId>
    <artifactId>coveralls-maven-plugin</artifactId>
    <version>4.1.0</version>
</plugin>

无论如何,覆盖率并没有减少,所以我猜这个类MyClass仍然是从 Jacoco 报告中计算出来的。

在 travis 文件中,我将报告阶段称为:

- mvn clean test jacoco:report coveralls:report

任何想法?

4

1 回答 1

1

我的错!

首先,必须按照Tunaki的正确建议.java将其删除并替换为。.class

其次,我不必排除测试类,而是我不想在覆盖范围内测量的类!所以它是:

    <excludes>
        <exclude>**/*MyClass</exclude>
    </excludes>

代替

    <excludes>
        <exclude>**/*MyClassTest.java</exclude>
    </excludes>
于 2016-01-09T23:08:28.930 回答