Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为少数测试类而不是所有测试类运行cobertura代码覆盖率?_Java_Maven_Junit_Cobertura - Fatal编程技术网

Java 如何为少数测试类而不是所有测试类运行cobertura代码覆盖率?

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

我正在eclipse中使用Cobertura为我的java maven项目生成代码覆盖率,它运行良好。我大约有15门考试课。每当我运行maven build时,它都会为所有这15个类生成代码覆盖率


有没有办法,我可以为我的几个测试类而不是所有的测试类运行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根据建议,不鼓励在评论中进行扩展编辑和新问题。请查找现有问题或发布新问题-社区应该很快回答。此外,如果您认为此问题解决了原始问题,请记住关闭/接受此问题。谢谢