You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单元测试中解决WebClient.Builder依赖注入不满足异常

问题原因

单元测试时仅加载了MyConfig,但WebClient.Builder这个Bean是由Spring Web的自动配置类(如WebClientAutoConfiguration)负责创建的。单独加载自定义配置类的情况下,Spring容器中不存在WebClient.Builder实例,导致MyConfig中创建WebClient的Bean方法无法获取依赖,进而抛出UnsatisfiedDependencyException。

解决方案

方案1:启用WebClient自动配置

在测试类上添加@AutoConfigureWebClient注解,让Spring自动注入WebClient.Builder所需的配置:

@SpringJUnitWebConfig(classes = MyConfig.class)
@AutoConfigureWebClient
public class MyTest {
  @Autowired
  MyService service;
}

方案2:手动提供WebClient.Builder Bean

在MyConfig中手动定义WebClient.Builder的Bean,确保容器内存在该实例:

@Configuration
public class MyConfig {

 @Bean
 WebClient.Builder webClientBuilder() {
     return WebClient.builder();
 }

 @Bean
 WebClient webClient(WebClient.Builder webClientBuilder) {
     return webClientBuilder.build();
 }
}

方案3:Mock WebClient(推荐单元测试场景使用)

如果是单元测试,无需真实的WebClient调用,可以用@MockBean直接模拟WebClient,跳过对WebClient.Builder的依赖:

@SpringJUnitWebConfig(classes = MyConfig.class)
public class MyTest {
  @Autowired
  MyService service;

  @MockBean
  WebClient webClient;
}

内容的提问来源于stack exchange,提问作者bhantol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:27:07