【问题标题】:Disabling Spring cloud consul when running Test运行测试时禁用 Spring cloud consul
【发布时间】:2016-06-12 09:56:41
【问题描述】:

我喜欢在没有 consul 的情况下使用测试弹簧配置文件运行我的单元测试。我正在尝试对测试配置文件使用spring.cloud.config.enabled:false 并禁用EnableDiscoveryClient 注释,但它不起作用。

我正在使用spring.cloud.consul 1.0.0.BUILD-SNAPSHOT。 这是一个例外:

com.ecwid.consul.transport.TransportException: java.net.ConnectException:连接被拒绝:连接在 com.ecwid.consul.transport.DefaultHttpTransport.executeRequest(DefaultHttpTransport.java:87) 在 com.ecwid.consul.transport.DefaultHttpTransport.makeGetRequest(DefaultHttpTransport.java:46) 在 com.ecwid.consul.v1.ConsulRawClient.makeGetRequest(ConsulRawClient.java:66)

【问题讨论】:

  • “不起作用”并没有真正的帮助。你得到什么错误?你用的是什么版本?
  • 你在哪里设置了spring.cloud.config.enabled:false,你是如何禁用EnableDiscoveryClient的?完整的异常有助于查看它是来自发现还是配置。

标签: java spring spring-cloud consul


【解决方案1】:

尝试在您的个人资料中使用 spring.cloud.consul.enabled:false 禁用 Consul。

我使用@IntegrationTest({"spring.cloud.consul.enabled=false"}) 标签来禁用我的测试的领事,作为一个类标签。我在 Spring Cloud Consul GitHub 问题跟踪器上发现了这一点,here

该帖子的另一个建议是使用类似以下内容作为您的bootstrap.yml

spring:
  application:
    name: <myServiceName>
  cloud:
    bus:
      enabled: false
    discovery:
      enabled: false
    consul:
      enabled: false
      config:
        enabled: false

【讨论】:

    【解决方案2】:

    试试@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)

    【讨论】:

      【解决方案3】:

      添加到

      @SpringBootTest(properties = {"spring.cloud.consul.enabled=false", "spring.cloud.consul.discovery.enabled=false"})

      或 测试/资源/bootstrap.yml as

      spring.cloud.consul.enabled: 假 spring.cloud.consul.discovery.enabled: 假

      【讨论】:

        猜你喜欢
        • 2019-01-19
        • 2017-01-30
        • 1970-01-01
        • 2019-09-24
        • 2020-05-18
        • 1970-01-01
        • 2021-06-07
        • 2018-12-10
        • 2016-02-18
        相关资源
        最近更新 更多