Java 如何为少数测试类而不是所有测试类运行cobertura代码覆盖率?
我正在eclipse中使用Cobertura为我的java maven项目生成代码覆盖率,它运行良好。我大约有15门考试课。每当我运行maven build时,它都会为所有这15个类生成代码覆盖率Java 如何为少数测试类而不是所有测试类运行cobertura代码覆盖率?,java,maven,junit,cobertura,Java,Maven,Junit,Cobertura,我正在eclipse中使用Cobertura为我的java maven项目生成代码覆盖率,它运行良好。我大约有15门考试课。每当我运行maven build时,它都会为所有这15个类生成代码覆盖率 有没有办法,我可以为我的几个测试类而不是所有的测试类运行cobertura代码覆盖率报告?我也有AllTests,其中我只提到了我的几个测试类,但我想cobertura没有使用AllTests如果您使用的是Maven cobertura插件,您可以使用两个单独的标记指定过滤: <plugin&g
有没有办法,我可以为我的几个测试类而不是所有的测试类运行cobertura代码覆盖率报告?我也有
AllTests
,其中我只提到了我的几个测试类,但我想cobertura没有使用AllTests
如果您使用的是Maven cobertura插件,您可以使用两个单独的标记指定过滤:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${cobertura.version}</version>
<configuration>
<instrumentation>
<ignores>
<ignore>org.apache.log4j.*</ignore>
...
</ignores>
<excludes>
<exclude>**/package1/package2/**/*.class</exclude>
...
</excludes>
</instrumentation>
</configuration>
</plugin>
org.codehaus.mojo
有一个带有Cobertura的命令行实用程序,您可以使用它来提供类的显式子目录,或者我相信您可以单独列出这些类。@Kon我明白了。如果我可以在eclipse中显式地添加任何我想插入的测试类列表,那么这将对我有很大帮助。当我使用Cobertura时,没有支持JDK 7的Eclipse插件。我使用了独立的工具。看看那些。谢谢你的帮助。假设我有三个java测试文件,我不想用cobertura来度量它们。我所有的java测试文件都在/src/test/java
中,我不想插入这三个java测试文件test1.java、test2.java和test3.java。。。。所以在exclude中,它应该是这样的-/sampleproject/src/test/java/com/example/project/main/test/Test1.class/sampleproject/src/test/java/com/example/project/Test2.class/sampleproject/src/test/java/com/example/project/main/test/Test3.class
对吗?这些测试是否会运行?@user2809564您必须排除编译后生成的sampleproject/target/..
中的.class
文件。是的,测试仍将运行。我明白了。。是否有任何方法可以避免运行这些测试?@user2809564根据建议,不鼓励在评论中进行扩展编辑和新问题。请查找现有问题或发布新问题-社区应该很快回答。此外,如果您认为此问题解决了原始问题,请记住关闭/接受此问题。谢谢