禁用配置服务器进行测试

时间:2018-12-04 10:32:25

标签: spring spring-boot configserver

我正在使用微服务体系结构,其中的服务是通过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中获取信息。

有人经历过吗?

1 个答案:

答案 0 :(得分:0)

转到您的bootstrap.yml,然后添加:

spring:
  cloud:
    config:
     enabled: false
相关问题