我正在使用微服务体系结构,其中的服务是通过Spring Boot进行控制的,我使用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")
它们都不是好事,因为应用程序在执行时要做的第一件事就是根据bootstrap.yml在git中获取信息。
有人经历过吗?
答案 0 :(得分:0)
转到您的bootstrap.yml
,然后添加:
spring:
cloud:
config:
enabled: false