В чем разница между плагинами Maven Surefire и Maven Failsafe?
У меня есть поиск по всему Интернету, но я не получил ответа.
Пожалуйста, помогите с примером.
В чем разница между плагинами Maven Surefire и Maven Failsafe?
У меня есть поиск по всему Интернету, но я не получил ответа.
Пожалуйста, помогите с примером.
Простыми словами, плагин Failsafe предназначен для запуска тестов интеграции, в то время как Surefire для запуска модульных тестов.
Это объясняется в Часто задаваемые вопросы Maven:
maven-surefire-plugin
предназначен для запуска модульных тестов, и если какой-либо из тестов завершится с ошибкой, немедленно выйдет из строя.
maven-failsafe-plugin
предназначен для запуска тестов интеграции и отпадает от сбоя сборки, если есть тестовые сбои от фактического запуска тестов.Имя "отказоустойчивое" было выбрано как потому, что оно является синонимом surefire, а потому, что оно означает, что когда он терпит неудачу, он делает это безопасным способом.
Failsafe Plugin имеет два цели:
failsafe:integration-test
запускает интеграционные тесты приложения,failsafe:verify
подтверждает, что тесты интеграции приложения прошли.
См. также:
Из http://maven.apache.org/surefire/maven-failsafe-plugin/ я бы сказал, что разница между Surefire и Fail Safe заключается в том, как они терпят неудачу:
Если вы используете плагин Surefire для запуска тестов, тогда, когда у вас есть сбой теста, сборка остановится на этапе тестирования интеграции, и ваша тестовая среда интеграции не будет правильно разорвана.
Плагин Failsafe используется во время тестирования интеграции и проверки фаз жизненного цикла сборки для выполнения интеграционных тестов приложения. Плагин Failsafe не завершит сборку во время фазы тестирования интеграции, что позволит выполнить этап после интеграции.
В моей стране это второй результат Google при поиске "maven failafe maven surfire", чтобы получить этот FAQ: http://maven.apache.org/surefire/maven-failsafe-plugin/, который гласит:
"Плагин Failsafe предназначен для запуска интеграционных тестов, в то время как плагин Surefire предназначен для запуска модульных тестов".