Понадобилось необычное.
Есть сервис, писанный на Spring. В нем есть имплементации некоторого функционала, заточенные под разные облака. Сделано через "профили".
Далее. Я пишу некоторый набор юнит-тестов, общий для всех облаков. И я хочу чтоб тест запускался N раз, где N — количество поддерживаемых облачных профилей. На данный момент только Azure и AWS, но скоро добавится Google и прочие.
Фактически, мне бы нужно переинициализировать Spring ApplicationContext для каждой такой итерации — загрузили профиль Azure, прогнали все тесты, перешли к следующему профилю. На данный момент я пишу в заголовке класса с тестом:
@ActiveProfiles({ "Azure" })
И если делать так же, то мне придется тупо копировать одни и те же тесты, меняя используемый профиль. Чего не хотелось бы. Пока на ум приходит колдовство с Maven'ом, но в этом случае такие тесты нельзя будет запустить из IDEA, перебор профилей получится только из Maven.
Кто-нибудь делал похожее? Где б почитать/посмотреть примеры?