mvn integration-test命令用于执行不需要的单元测试

时间:2015-02-12 19:26:13

标签: maven maven-plugin maven-surefire-plugin maven-failsafe-plugin

当我运行mvn test时,它只执行单元测试,但是当我运行mvn integration-test时,即使在配置maven-failsafe-plugin并排除*Test.java后,它也会执行单元测试和集成测试文件。不知道我在这里缺少什么。另外值得一提的是,我没有将maven-surefire-plugin放入我的pom.xml中。不确定是否会造成此问题。请指导。

的pom.xml

    <!-- Integration tests -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.18</version>
        <configuration>
            <includes>
                <include>**/*IT.java</include>
            </includes>
            <excludes>
                <exclude>**/*Test.java</exclude>
            </excludes>
        </configuration>                
        <executions>
            <execution>
                <goals>
                    <goal>integration-test</goal>
                    <goal>verify</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

单元测试类文件:

 com.study.jenkins.ut.MyUnitTest.java

集成测试类文件:

com.study.jenkins.it.PageIT.java

1 个答案:

答案 0 :(得分:1)

maven-surefire-plugin是生命周期的一部分,它始终绑定到Java项目的test阶段。调用integration-test意味着执行直到integration-test阶段的所有生命周期阶段。所以MyUnitTest将永远执行(这是一件好事)。

您的包含/排除无效,这些已经是maven-failsafe-plugin的默认设置,请参阅http://maven.apache.org/surefire/maven-failsafe-plugin/integration-test-mojo.html#includes