我在一个带有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有什么想法吗?
发布于 2016-01-10 07:08:29
我的错!
首先,按照Tunaki的正确建议,必须删除.java并用.class替换。
其次,我不必排除测试类,但要排除我不想在覆盖率中测量的类!所以它就是:
<excludes>
<exclude>**/*MyClass</exclude>
</excludes>而不是
<excludes>
<exclude>**/*MyClassTest.java</exclude>
</excludes>https://stackoverflow.com/questions/34699240
复制相似问题