Spring Boot应用程序与Spring Cloud的集成测试

时间:2018-07-26 11:57:13

标签: spring-boot spring-cloud spring-boot-test

我有一个使用配置服务器的spring-boot应用程序。 在项目中,我有一个bootstrap.yml:

spring:
 cloud:
    config:
      uri: ${CLOUD_CONFIG_URI:http://localhost:8888}
      failFast: true
      enabled: ??

,我可以通过参数传递服务器位置的实际配置。没关系。

使用这种配置,我不知道如何在集成测试中禁用它。我的测试加载了此配置,并希望与配置服务器通信。我知道我可以通过spring.cloud.config.enabled=false,但这不是解决方案(我想在IDE中右键单击并运行测试,而无需为每个测试方法进行额外配置)。

有什么主意吗?

1 个答案:

答案 0 :(得分:2)

这是一个很晚的答案,但是对于从任何搜索引擎加入的人来说,这是我的解决方案:

集成测试类上方的@Profile(“ test”)注释正确。要使此功能真正起作用,是将两个额外的配置文件添加到普通资源文件夹中,而不是测试资源文件夹中。

  1. 添加“ application-test.yml”
  2. 添加“ bootstrap-test.yml”

在bootstrap-test.yml中添加以下内容:

spring:
    cloud:
        config:
          enabled: false

使用此配置,您可以将所有所需的配置选项放在application-test.yml中,而bootstrap-test.yml将禁用spring cloud配置。