Отключение сервера настроек для тестов
Я использую микросервисную архитектуру, где сервисы выполняются с помощью весенней загрузки, для управления ими, я использую zuul в качестве прокси, eureka в качестве сервера регистрации и конфигурации в качестве поставщика конфигурации.
В микросервисах я настраиваю свой файл bootstrap.yml следующим образом:
spring:
application:
name: portal-gca-server-${MYENV:local}
cloud:
config:
uri: http://localhost:9090
Как видно выше, имя файла конфигурации, которое я ищу на сервере конфигурации, соответствует моей переменной среды, в противном случае я получаю локальный профиль. Это работает нормально, но когда я запускаю тесты на компьютере разработчика, он никогда не будет работать, потому что вместо поиска профиля теста он ищет местоположение, потому что у машины разработчика нет переменной окружения. Я знаю, что мог бы зарегистрировать переменную среды для запуска тестов, но это не является намерением, иначе мне пришлось бы делать это все время, чтобы запускать тесты и запускать локальное приложение.
Есть ли способ решить это? Я уже пытался использовать аннотации:
webEnvironment = SpringBootTest.WebEnvironment.MOCK
@ActiveProfiles("test")
@TestPropertySource(locations="classpath:application-test.properties")
Ничего из этого не принесет пользы, потому что первое, что приложение делает при запуске, - это выборка информации в git в соответствии с bootstrap.yml.
Кто-нибудь когда-либо испытывал это?
0 ответов
Перейти к вашей bootstrap.yml
и затем добавьте:
spring:
cloud:
config:
enabled: false