当我运行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
答案 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