Моя первая идея по этому вопросу заключается в том, что если это сквозной тест, то вы должны забыть, какую платформу вы используете, потому что это относится к реализации в этом контексте. Поэтому я хотел бы создать тестовый проект, который, по сути, является файлом docker-compose и определяет 5 контейнеров для
- сервис A
- сервис B
- RabbitMQ
- может быть, база данных тоже, если вы не хотите придерживаться подхода в памяти
- и отдельный контейнер для проведения тестов
С этой точки зрения у вас есть 2 способа обработки специфичной для env конфигурации:
- вы определяете специфичный для теста конфиг в отдельном профиле пружины и активируете его, определяя
SPRING_PROFILES_ACTIVE
env var в файле docker-compose
- вы передаете свою конфигурацию в файл свойств и монтируете ее в файл docker-compose
Запуск теста может быть простым, я бы написал набор тестов на основе JUnit, который использует RestAssured или что-то подобное.
Надеюсь, это даст ключ. Конечно, это широкая тема, поэтому углубляться в каждую деталь не вписывается в SO-ответ.