Maven — выполнение команды в отдельном потоке до и после тестирования

#java #maven #testing #jersey #jetty

#java #maven #тестирование #джерси #причал

Вопрос:

В моем проекте есть модуль, который зависит от сервера, на котором запущены модульные тесты для работы. Сервер может быть запущен с помощью команды mvn jetty:run -f moduleName/pom.xml . Есть ли способ автоматически запустить сервер в новом потоке до начала фазы тестирования и завершить его после этого? Другими словами, я хочу, чтобы сервер запустился после запуска mvn test и снова остановил сервер, как только он перейдет к следующему модулю.

Я уже пробовал использовать JerseyTest, но я не удовлетворен результатом из-за сложности модуля и всех различных классов, которые зависят от сервера.

Комментарии:

1. важно ли, чтобы это был тест mvn? или вы можете переместить эти тесты обратно в жизненный цикл в mvn integration-test? что касается этой фазы, есть предварительная и последующая фазы, которые вы могли бы добавить для запуска этого сервера.

2. Было бы определенно предпочтительнее, если бы он выполнялся с mvn test, но если это невозможно, выполнение этого во время интеграционного тестирования является жизнеспособным вариантом.

3. Я бы рекомендовал внимательно изучить здесь: eclipse.org/jetty/documentation/current/jetty-maven-plugin.html и посмотрите, как связать jetty-maven-pugin с жизненным циклом. Также я бы предложил использовать фазу предварительного тестирования интеграции и фазу тестирования после интеграции, потому что они предназначены для интеграционных тестов, которые вы используете просто.