Отключение сервера настроек для тестов

Я использую микросервисную архитектуру, где сервисы выполняются с помощью весенней загрузки, для управления ими, я использую 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
Другие вопросы по тегам