【发布时间】:2023-01-09 18:05:41
【问题描述】:
我有结构:
- test
- java
- com
- A
- service
- serviceB
- DefaultServiceBTest.java
- integration
- DefaultServiceBIntegrationTest.java
我想单独运行单元测试和集成测试。我正在使用 maven surefire 和 failsafe 插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<trimStackTrace>false</trimStackTrace>
<printSummary>true</printSummary>
<excludes>
<exclude>integration/*.java</exclude>
</excludes>
</configuration>
</plugin>
由于 mvn test 默认运行 surefire:test 具有此配置 maven-surefire 工作,并且使用 mvn test 仅运行单元测试 - 在我的情况下所有测试不在 integration 文件夹中。
但是对于故障安全我有这个配置:
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.plugin.version}</version>
<configuration>
<includes>
<include>**/integration/*.java</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
针对maven-failsafe 进行此配置并运行mvn verify -Pfailsafe 会导致首先运行单元测试,然后运行集成测试。但是我不希望用这个来执行单元测试。配置有什么问题?
感谢帮助!
【问题讨论】: