Я пишу некоторые интеграционные тесты, используя отказоустойчивый плагин.
Я хочу выполнить следующее:
1) Запустить Docker (запуск цели в фазе предварительного тестирования интеграции)
2) Стартовая пружина (целевой старт в фазе перед интеграционным тестом)
3) Тесты (фазовая интеграционная проверка)
4) Стоповая пружина (целевой стоп послеинтеграционный тест)
5) Stop Docker (остановка цели в пост-интеграционном тесте)
Почему?Я хочу запустить Docker BEFORE Spring, чтобы все базы данных были готовы при загрузке Spring, а также я хочу остановить Docker AFTER Spring, чтобы избежать многих ошибок в Spring из-за потери соединения с базой данных.
У меня есть следующий pom.xml:
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.20.1</version>
<executions>
<execution>
<id>run-docker-containers</id>
<goals>
<goal>start</goal>
</goals>
<configuration>
...
</configuration>
</execution>
<execution>
<id>stop-docker-containers</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
<configuration>
...
</configuration>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Но с этим pom.xml я получаю следующий заказ:
1) Запуск Docker
2) Запуск Spring
3) Тесты
4) Остановка Docker
5) Остановка пружины
Это означает, что Docker остановлен ДО весны, и я не хочу этого.
Я знаю, что порядок выполнения в Maven задается порядком в pom.xml, но в этом случае мне нужно пересечь цели.
Любой совет?
Спасибо.