首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Spring Boot WebMvcTest中排除自动配置

如何从Spring Boot WebMvcTest中排除自动配置
EN

Stack Overflow用户
提问于 2017-12-07 03:04:31
回答 0查看 2.1K关注 0票数 1

我正在尝试实现一个Spring Boot Mock MVC单元测试,并希望排除spring-cloud-consul自动配置,以避免需要连接到远程服务。

看起来我应该能够通过以下几点实现这一点:

代码语言:javascript
复制
@RunWith(SpringRunner.class)
@WebMvcTest(value = MyController.class, excludeAutoConfiguration = ConsulAutoConfiguration.class)
@AutoConfigureMockMvc(addFilters = false, printOnlyOnFailure = false)

但是,这似乎仍在尝试连接到远程领事,因为我无法在脱机时运行此单元测试。

代码语言:javascript
复制
Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to consul.****:8500 [consul.****/**.**.**.**] failed: connect timed out
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:150)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

如果我将-Ddebug添加到单元测试运行配置中,我在排除项中看不到这一点:

代码语言:javascript
复制
Positive matches:
-----------------

ConsulAutoConfiguration matched:
      - AllNestedConditions 2 matched 0 did not; NestedCondition on ConditionalOnConsulEnabled.OnConsulEnabledCondition.FoundClass @ConditionalOnClass found required class 'com.ecwid.consul.v1.ConsulClient'; @ConditionalOnMissingClass did not find unwanted class; NestedCondition on ConditionalOnConsulEnabled.OnConsulEnabledCondition.FoundProperty @ConditionalOnProperty (spring.cloud.consul.enabled) matched (ConditionalOnConsulEnabled.OnConsulEnabledCondition)

Exclusions:
-----------

    None

我想知道这是不是因为这个配置是在引导时加载的?

任何帮助都将不胜感激,提前感谢。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47681699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档