請參考以下鏈接 - GitHub discussion on how to separate Integration Tests and Unit Tests如何使集成測試和單元測試通過maven單獨運行?
結果,我想這一點 -
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Tests.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/IT*.java</exclude>
<exclude>**/*IT.java</exclude>
<exclude>**/*ITCase.java</exclude>
<exclude>**/*IntegrationTest.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<includes>
<include>**/IT*.java</include>
<include>**/*IT.java</include>
<include>**/*ITCase.java</include>
<include>**/*IntegrationTest.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
這是工作好到一定程度。意思是,surefire不執行集成測試,Failsafe不執行單元測試。
但是,當我運行時,mvn verify
或mvn integration-test
,也使用確定的插件。
必需結果:運行mvn integration-test
時,不應運行單元測試。
的下面三個圖像是用於mvn verify
集成測試:
單元測試:
下面的圖片是當我跑mvn test
按照默認命名架構和不添加幾個包括/排除等導致maven-surefire-plugin和maven-failsafe-plugin的默認工作正常... ...公約nfiguration是pardigm ...所以只需要配置一些東西,如果你真的需要的話。否則保持默認值。 – khmarbaise
[FailSafe命名約定](https://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html)。除非你提到,否則我不知道它存在。 –
@khmarbaise但是,sunfire是否排除了故障安全插件的默認值? –