Подтвердить что ты не робот

Преимущества плагина Maven FailSafe

Я читал плагин Maven Failsafe специально разработан для проведения интеграционных тестов. В настоящее время я работаю над многомодульным проектом, а интеграционные тесты находятся в отдельном модуле, написанном в TestNg и выполняемом с использованием плагина surefire. У нас нет конфликтов с модульными тестами, поскольку на этапе тестирования в этом модуле выполняются только тесты интеграции. И чтобы настроить среду перед тестированием и очистить ее после запуска тестов, используются @BeforeSuite @AfterSuite TestNg Аннотации. Поэтому нет необходимости использовать фазу предварительной интеграции, тестовую фазу интеграции, фазу после интеграции, используемую плагином FailSafe.

  • Есть ли еще какие-то преимущества, которые я пропускаю, не используя плагин Failsafe?
  • Есть ли более эффективные способы выполнения моих текущих требований с помощью плагина Failsafe?
  • Могу ли я запускать, выключать, распаковывать файлы и т.д. на этапах тестирования перед интеграцией, после интеграции, без написания плагина maven?
4b9b3361

Ответ 1

Если у вас уже есть собственные тестовые настройки/разрывы в ваших сюитах, которые, по внешнему виду, вы делаете, вы вряд ли сможете получить от плагина FailSafe.

Плагин FailSafe полезен в ситуациях, когда установка вашего системного теста является дорогостоящей или занимает много времени, например, запуск сервлета или распределенной системы. Способ, которым плагин FailSafe пригодится в этих ситуациях, заключается в том, что вы можете настроить эту среду на этапе pre-integration-test. Этот плагин также не останавливает выполнение сборки Maven при неудачном тестировании, что позволяет очистить все ваши артефакты во время фазы post-integration-test, после чего проверяет состояние ваших тестов и передает или не выполняет сборку соответственно в фазе verify.

Ответ 2

У Failsafe есть одна большая функция против Surefire: когда тест не удается, он не сразу прерывается. Вместо этого он запускает код очистки (который обычно снимает сервер Jetty).