Выполняя это, ваши издевательства и их конфигурация будут, вероятно, упакованы с приложением, работающим на производстве.
Мне это кажется очень странным. Не могли бы вы упаковать тесты своих модулей в приложении Spring Spring? Я так не думаю. Поэтому я хотел бы сказать, что это «плохой» дизайн, так как тестовые зависимости не должны быть встроены в производственный код.
Однако документация Spring о @Profile
аннотации использует пример сегрегации среды.
Теперь есть вопрос, на который нужно ответить: что вы подразумеваете под «интеграционным тестированием»?
Это автоматический тест интеграции? Или вы хотите запустить приложение в разных режимах для групп тестирования?
Является ли это автоматическим интеграционным тестом, тогда нет оснований для использования @Profile
аннотации, поскольку автоматические тесты и производственный код не будут упаковываться вместе.
Однако, если вы хотите, чтобы ваши пользователи проводили интеграционные тесты, вы могли бы создать автономный поддельный проект, который будет использоваться для имитации внешних зависимостей, которые вы вызываете (база данных, веб-службы и т. Д.).
Затем @Profile
можно использовать для перехода от поддельного к производственному режиму, но только через файл конфигурации: поддельный профиль вызовет ваши поддельные внешние сервисы, тогда как производство вызовет реальные внешние сервисы.