MavenSurefire 和 MavenFalsafe 插件的区别是什么?

MavenSurefire 和 MavenFailsafe 插件的区别是什么?
我在网上到处搜索,但是没有找到答案。

49951 次浏览

https://maven.apache.org/surefire/maven-failsafe-plugin/的角度来看,我想说的是,Surefire 和 Failsafe 之间的区别在于它们失败的方式:

如果您使用 Surefire Plugin 运行测试,那么当测试失败时,构建将在集成测试阶段停止,您的集成测试环境将不会被正确拆除。

在构建生命周期的集成测试和验证阶段,使用故障安全插件来执行应用程序的集成测试。故障安全插件不会在集成测试阶段失败构建,因此可以执行后集成测试阶段。

在我的国家,这是第二次谷歌搜索结果,当搜索“专家故障安全专家必胜”得到这个常见问题: Maven-faulsafe-plugin 与 maven-surefire-plugin 的区别,其中说:

Maven-surefire-plugin 是为运行单元测试而设计的,如果任何测试失败,那么它将立即失败构建。

Maven-faulsafe-plugin 是为运行集成测试而设计的,并且 如果实际上存在测试失败,则将构建失败解耦 正在进行测试。”

简单地说,故障安全插件被设计为运行 综合测试,而 Surefire 运行 单元测试

Maven 常见问题解答进一步解释了这一点:

  • maven-surefire-plugin 是为运行 单元测试而设计的,如果任何测试失败,那么它将立即失败构建。

  • maven-failsafe-plugin 是为运行 综合测试而设计的,如果实际运行测试时出现测试失败,则解耦失败的构建。

    之所以选择“ 自动防故障装置”这个名字,一方面是因为它是 surefire 的同义词,另一方面是因为它暗示了当它失败时,它是以一种安全的方式进行的。

    故障保护插件有两个目标:

参见: