我喜欢在没有领事的情况下使用测试弹簧轮廓进行单元测试。我尝试使用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)
答案 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:错误