Преимущества плагина Maven FailSafe - PullRequest
29 голосов
/ 18 февраля 2012

Я прочитал Плагин Maven Failsafe разработан специально для запуска интеграционных тестов. В настоящее время я работаю над многомодульным проектом, и интеграционные тесты находятся в отдельном модуле, написанном на TestNg и выполняемом с использованием Surefire plugin . У нас нет конфликтов с модульными тестами, поскольку на этапе тестирования в этом модуле выполняются только интеграционные тесты. А чтобы настроить среду перед тестами и очистить ее после запуска тестов, используются аннотации @BeforeSuite @AfterSuite TestNg. Поэтому нет необходимости использовать pre-integration-test фазу, integration-test фазу, post-integration-test фазу, используемую плагином Failsafe.

  • Есть ли еще какие-то преимущества, которые я упускаю, не используя плагин Failsafe?
  • Есть ли лучшие способы выполнить мои текущие требования с помощью плагина Failsafe?
  • Могу ли я выполнить запуск, выключение, разархивирование файла и т. Д. В фазах pre-integration-test, post-integration-test без написания плагина maven?

Ответы [ 3 ]

29 голосов
/ 20 февраля 2012

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

25 голосов
/ 20 февраля 2012

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

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

2 голосов
/ 17 декабря 2018

Обращаясь к вашему третьему вопросу, так как он на самом деле не отвечает, imho.

Могу ли я выполнить запуск, выключение, разархивирование файла и т. Д. В тесте перед интеграцией, послеФазы тестирования интеграции без написания плагина maven?

Взято из этого ответа в " Плагин Maven Failsafe: как использовать тест до и после интеграциифазы"

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

Еще одна важная вещь, на которую следует обратить внимание, это соглашения по именованию по умолчанию, используемые maven-failsafe-plugin: он запускает тестовые классы с именами, начинающимися или заканчивающимися IT (как класс интеграционных испытаний)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...