Сквозное интеграционное тестирование для нескольких приложений с пружинной загрузкой под Maven
Каков рекомендуемый способ проведения сквозного интеграционного теста для несколькихSpring
загружать приложения вMaven
фаза проверки?
По сути, у меня есть многомодульный проект Maven, в котором несколько модулей являются отдельными приложениями с весенней загрузкой. Эти отдельные приложения имеют свою собственную конфигурацию для источников данных, интеграцию потоков сJMS
очереди и т. д. Например, приложение A будет опрашивать базу данных на предмет события, а когда это происходит, оно выдаетJSON
файл данных и помещает сообщение наJMS
очередь. Приложение B опрашиваетJMS
очередь, поэтому принимает сообщение, читает файл, выполняет некоторую обработку с использованием другой базы данных и помещает сообщение в другую очередь. Затем приложение C получит это сообщение и т. Д. И т. Д.
Я настроил интеграционные тесты для отдельных приложений; они запускаются под отказоустойчивым плагином Maven. Тем не менее, я хотел бы провести интеграционное тестирование всей системы, под конец, под Maven. Я настроил отдельный модуль в проекте, посвященном этой задаче, и поэтому хотел бы, чтобы на этапе проверки сборки этого модуля проводилось сквозное тестирование с использованием других зависимых модулей.
Есть ли лучший способ сделать это? Я вижу 3 возможных пути:
Загрузите конфигурацию каждого приложения в один и тот же контекст приложения. Однако из-за нескольких источников данных и т. Д. Это создает конфликты, и поэтому все эти источники данных придется настраивать вручную, чтобы обеспечить сквозное интеграционное тестирование, так что мне это кажется неправильным.Запустите каждое приложение как отдельный процесс - как тогда правильно отследить их и убедиться, что они закрыты, если сборка тестового модуля останавливается / падает / и т.д.?Есть ли способ легко загрузить отдельные приложения с пружинной загрузкой, каждое из которых имеет собственный контекст конфигурации, в одном и том же процессе? Казалось бы, это самый разумный вариант. Есть ли какие-либо соображения в отношенииMaven
построить / отказоустойчивый плагин?