运行Test时禁用Spring cloud consul

时间:2016-02-29 11:20:30

标签: java spring spring-cloud consul

我喜欢在没有领事的情况下使用测试弹簧轮廓进行单元测试。我尝试使用spring.cloud.config.enabled:false并禁用EnableDiscoveryClient注释用于测试配置文件,但它无法正常工作。

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

  

com.ecwid.consul.transport.TransportException:   java.net.ConnectException:拒绝连接:connect at   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)

3 个答案:

答案 0 :(得分:5)

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

我使用@IntegrationTest({"spring.cloud.consul.enabled=false"})标记来禁用我的测试的consul作为类标记。我在Spring Cloud Consul GitHub问题跟踪器上找到了here

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

将其添加到

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

或 测试/resources/bootstrap.yml为

spring.cloud.consul.enabled:false spring.cloud.consul.discovery.enabled:错误