1. 概述
这篇简明教程介绍 Maven 构建工具的核心插件之一——failsafe 插件。关于其他核心插件的概述,可参考这篇文章。
2. 插件目标
failsafe 插件专门用于项目的集成测试,包含两个核心目标:
-
integration-test
– 运行集成测试;默认绑定到integration-test
阶段 -
verify
– 验证集成测试是否通过;默认绑定到verify
阶段
3. 目标执行
该插件与 surefire 插件类似,都能运行测试类中的方法,配置方式也相近。但两者存在关键差异:
✅ 差异点 1:显式声明
与 surefire 插件(见这篇文章)不同,surefire 已包含在超级 pom.xml
中,而 failsafe 插件及其目标必须显式声明在 pom.xml
中才能参与构建生命周期:
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
插件最新版本可查看这里
✅ 差异点 2:失败处理机制
failsafe 插件通过分离的目标实现测试运行与验证:integration-test
阶段的测试失败不会立即终止构建,允许后续执行 post-integration-test
阶段(用于清理资源)。
⚠️ 失败的测试仅在 verify
阶段报告,此时集成测试环境已正确拆除。
4. 结论
本文介绍了 failsafe 插件的核心功能,并与测试领域另一常用插件 surefire 进行了对比分析。
完整示例代码可在 GitHub 获取。