2015-12-18 5 views
1

Например, у меня есть проект maven с 2 модулями. сервисный модуль REST, модуль hornetq jms.Как сделать интеграционный тест со всем модулем в maven?

ручным способом будет:

  1. Запуск встроенного серверного приложения пристани
  2. Выполнить встроенный hornetq сервер
  3. Отправка запроса PUT на сервер REST (REST-сервер в качестве продюсера hornetq нажать сообщение запроса в очередь hornetq)
  4. Начать hornetq потребителя Получать, поставленные в очередь сообщение

Как выполнить тест интеграции с ними с помощью maven?

ответ

2

Ответ maven-failsafe-plugin (см. Документ http://maven.apache.org/surefire/maven-failsafe-plugin/usage.html). Это позволяет

  1. Начало применения в pre-integration-test фазе (например, молы или hornetq)
  2. Выполнение тестов в integration-test фазе
  3. остановки приложения в post-integration-test фазе
  4. Оценивать результаты испытаний в verify (например, для отказа от сборки, для генерации отчета JUnit)

Ознакомьтесь с примерами в предоставленной ссылке.

В вашем конкретном случае, вы должны начать все серверы в pre-integration-test фазе (с использованием hornetq-maven-plugin и jetty-maven-plugin и, возможно, maven-antrun-plugin), а затем остановить их в post-integration-test фазе.
Я рекомендую выполнить запрос PUT с Java с использованием инфраструктуры JUnit или TestNG, поскольку он отлично интегрируется с maven-failsafe-plugin. Если возможно, запустите (и остановите) потребитель hornetq программно как часть теста JUnit/TestNG, потому что вы получите assert результат.

Некоторые другие ресурсы: