22

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

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

ответ

15

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

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

19

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

Смежные вопросы