What is the difference between the Maven Surefire

2019-03-09 06:03发布

What is the difference between Maven Surefire and Maven Failsafe plugins?

I have search all over web but did not get the answer.

Please someone help with the example.

3条回答
Viruses.
2楼-- · 2019-03-09 06:24

From https://maven.apache.org/surefire/maven-failsafe-plugin/, I would say that the difference between Surefire and Failsafe is the way they fail:

If you use the Surefire Plugin for running tests, then when you have a test failure, the build will stop at the integration-test phase and your integration test environment will not have been torn down correctly.

The Failsafe Plugin is used during the integration-test and verify phases of the build lifecycle to execute the integration tests of an application. The Failsafe Plugin will not fail the build during the integration-test phase, thus enabling the post-integration-test phase to execute.

查看更多
Anthone
3楼-- · 2019-03-09 06:28

In my country its the second google result when searching for "maven failsafe maven surefire" to get to this FAQ: https://maven.apache.org/surefire/maven-failsafe-plugin/ which states:

"The Failsafe Plugin is designed to run integration tests while the Surefire Plugin is designed to run unit tests."

查看更多
ら.Afraid
4楼-- · 2019-03-09 06:35

In simple words, the Failsafe plugin is designed to run integration tests while Surefire to run unit tests.

This is further explained in Maven FAQ:

  • maven-surefire-plugin is designed for running unit tests and if any of the tests fail then it will fail the build immediately.

  • maven-failsafe-plugin is designed for running integration tests, and decouples failing the build if there are test failures from actually running the tests.

    The name "failsafe" was chosen both because it is a synonym of surefire and because it implies that when it fails, it does so in a safe way.

    The Failsafe Plugin has two goals:

See also:

查看更多
登录 后发表回答