Maven Surefire和Maven Failsafe插件之间有什么区别?
我在网上搜索了所有内容,但没有得到答案。
Maven Surefire和Maven Failsafe插件之间有什么区别?
我在网上搜索了所有内容,但没有得到答案。
Answers:
简而言之,Failsafe插件旨在运行集成测试,而Surefire则用于运行单元测试。
这在Maven FAQ中有进一步的解释:
maven-surefire-plugin
是为运行单元测试而设计的,如果任何测试失败,则它将立即使构建失败。
maven-failsafe-plugin
是为运行集成测试而设计的,如果在实际运行测试中出现测试失败,则可以将失败的构建解耦。选择“ failsafe ” 这个名称是因为它是surefire的同义词,也因为它暗示了当它失败时,它是以安全的方式这样做的。
该故障安全插件有两个目标:
failsafe:integration-test
运行应用程序的集成测试,failsafe:verify
验证应用程序的集成测试是否通过。
也可以看看:
从https://maven.apache.org/surefire/maven-failsafe-plugin/,我会说Surefire和Failsafe的区别在于它们的失败方式:
如果您使用Surefire插件运行测试,则在测试失败时,构建将在集成测试阶段停止,并且集成测试环境将无法正确拆除。
Failsafe插件用于构建生命周期的集成测试和验证阶段,以执行应用程序的集成测试。Failsafe插件在集成测试阶段不会使构建失败,从而使集成后测试阶段能够执行。
在我的国家/地区,当搜索“ maven failsafe maven surefire”以获取此FAQ时,这是第二个Google搜索结果:maven-failsafe-plugin和maven-surefire-plugin之间的区别在于:
maven-surefire-plugin专为运行单元测试而设计,如果任何测试失败,那么它将立即使构建失败。
maven-failsafe-plugin专为运行集成测试而设计,如果实际运行测试存在测试失败,则可以将失败的构建解耦。”