我在目录DefaultViewTypeToFragmentMapperTest.java
中有一个带有测试用例/src/test/java/test/com/mycompany/myproduct/android/viewtype2fragmentmapper/
的Maven项目。
我希望将此测试用例排除在单元测试覆盖率计算之外。为了实现这个结果,我配置了这样的插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
<instrumentation>
<excludes>
<exclude>test/co/**/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
但我仍然在报道报告中看到上述课程。
如何修复此问题,以便测试用例不会出现在报告中,并且不考虑其覆盖率(根据报告为0%)?
答案 0 :(得分:9)
经过多次尝试和失败后,我开始工作了。
我得到了它:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<instrumentation>
<excludes>
<exclude>aaa/**/*.class</exclude>
<exclude>com/test/bbb/**/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
使用要排除的包名称的开头更改'aaa'。 使用您要从报告中排除的包名更改“bbb”。
我希望它有所帮助, Marc Andreu
答案 1 :(得分:6)
您应该使用<ignore>
标记。
<configuration>
<instrumentation>
<ignores>
<ignore>com.example.boringcode.*</ignore>
</ignores>
</instrumentation>
</configuration>
<exclude>
中使用的{p> <instrumentation>
只是将您的工具包排除在外。在这种情况下,这没什么,因为你没有做任何事情。
答案 2 :(得分:5)
这是一个错字吗?
<exclude>test/co/**/*.class</exclude>
。
co </ strong>应为 com 。
BTW,<ignores>
指示Cobertura忽略对任何与ignore正则表达式匹配的方法的任何调用。它将 NOT 在仪表期间跳过这些类。要从检测中排除类,应使用<excludes>
。
答案 3 :(得分:4)
您不应将.class附加为以下示例
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
<instrumentation>
<excludes>
<exclude>test/co/**/*</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
我希望这可能有所帮助。
答案 4 :(得分:2)
我只是失去了两个小时的生命,因为Cobertura被排除在外,但终于成功了。
我找到的解决方案是带有仪器和插件的插件配置。排除cobertura-maven-plugin必须在pom的build / plugins或build / pluginManagement章节中,而还必须是报告章节中cobertura-maven-plugin的引用。
这里的缺陷是你最初开始在报告章节定义插件,否则不会生成报告。但是仪器本身并没有从pom的那一部分中获取任何配置。您需要在构建章节中定义它。
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<instrumentation>
<excludes>
<exclude>my/exclusion/package/**</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
答案 5 :(得分:0)