Maven Surefire和Maven Failsafe插件有什么区别?

时间:2015-03-11 11:55:14

标签: maven maven-surefire-plugin maven-failsafe-plugin

Maven Surefire和Maven Failsafe插件有什么区别?

我在网上搜索但没有得到答案。

请有人帮助解决这个问题。

3 个答案:

答案 0 :(得分:93)

简单来说,Failsafe插件旨在运行集成测试,而Surefire则运行单元测试

Maven FAQ

进一步说明了这一点
  
      
  • maven-surefire-plugin用于运行单元测试,如果任何测试失败,则会立即使构建失败。

  •   
  • maven-failsafe-plugin用于运行集成测试,如果实际运行测试时出现测试失败,则会导致构建失败。

         

    选择名称“ failsafe ”是因为它是surefire的同义词,因为它暗示当它失败时,它会以安全的方式完成。

         

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

         
  •   

另见:

答案 1 :(得分:17)

https://maven.apache.org/surefire/maven-failsafe-plugin/开始,我会说Surefire和Failsafe之间的区别在于它们失败的方式:

  

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

     

在构建生命周期的集成测试和验证阶段使用Failsafe插件来执行应用程序的集成测试。在集成测试阶段,Failsafe插件不会使构建失败,从而使后集成测试阶段能够执行。

答案 2 :(得分:4)

在我的国家/地区搜索“maven failsafe maven surefire”以获取此常见问题时的第二个谷歌搜索结果:https://maven.apache.org/surefire/maven-failsafe-plugin/其中声明:

  

“Failsafe插件旨在运行集成测试,而Surefire插件旨在运行单元测试。”