是否必须将 maven-failsafe-plugin 指定为 运行 集成测试?
Is it mandatory to specify maven-failsafe-plugin to run integration tests?
很抱歉关于 maven-failsafe-plugin
这个非常基本的问题,但我对 maven 不是很熟悉。
- 是否必须指定
maven-failsafe-plugin
到 运行 集成测试?
- 为什么
mvn verify
不能像 mvn test
执行单元测试那样执行集成测试?
- 没有这个插件可以执行集成测试吗?
mvn test
执行单元测试,因为 Maven 有一个从 test
到 surefire:test
的默认绑定,意思是,如果你执行阶段 test
,Maven 将调用目标为 test
的 surefire 插件。但是,集成测试或验证阶段没有默认绑定,因此您必须通过指定故障安全插件自行提供。
完全同意dunni的回答。再补充几点。
- 最好使用 maven-failsafe-plugin 进行 运行 集成测试。由于 Failsafe 插件旨在 运行 集成测试,而 Surefire 插件旨在 运行 单元测试。
dunni 已经正确回答了这个问题。
添加附加信息,要使用 Failsafe 插件,您需要将以下配置添加到您的项目中 pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe-plugin-version}</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
- 虽然这不是一个好习惯,但您可以将 maven-surefire-plugin 配置为 运行 没有故障安全插件的集成测试。
很抱歉关于 maven-failsafe-plugin
这个非常基本的问题,但我对 maven 不是很熟悉。
- 是否必须指定
maven-failsafe-plugin
到 运行 集成测试? - 为什么
mvn verify
不能像mvn test
执行单元测试那样执行集成测试? - 没有这个插件可以执行集成测试吗?
mvn test
执行单元测试,因为 Maven 有一个从 test
到 surefire:test
的默认绑定,意思是,如果你执行阶段 test
,Maven 将调用目标为 test
的 surefire 插件。但是,集成测试或验证阶段没有默认绑定,因此您必须通过指定故障安全插件自行提供。
完全同意dunni的回答。再补充几点。
- 最好使用 maven-failsafe-plugin 进行 运行 集成测试。由于 Failsafe 插件旨在 运行 集成测试,而 Surefire 插件旨在 运行 单元测试。
dunni 已经正确回答了这个问题。
添加附加信息,要使用 Failsafe 插件,您需要将以下配置添加到您的项目中 pom.xml:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven-failsafe-plugin-version}</version> <executions> <execution> <id>integration-test</id> <goals> <goal>integration-test</goal> </goals> </execution> <execution> <id>verify</id> <goals> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
- 虽然这不是一个好习惯,但您可以将 maven-surefire-plugin 配置为 运行 没有故障安全插件的集成测试。