当前位置: 首页 > news >正文

JUnit 版本影响 Bean 找不到

JUnit 版本影响 Bean 找不到

在为实现类编写测试类时,在测试类中使用构造器注入 Bean 时,提示找不到 Bean,代码如下:

@Service
public class WeChatServiceImpl implements IWeChatService {
  @Override
  public String getNumber(String detailCode) { return detailCode; }
}
@SpringBootTest(classes = WeChatServiceImpl.class)
@RequiredArgsConstructor
class WeChatServiceImplTest {

  private final IWeChatService weChatService;

  @Test
  void getPhoneNumber() { System.out.println(weChatService.getNumber("Service")); }
}

这时运行测试方法时,提示 “No ParameterResolver registered for parameter” 的错误


这是由于 JUnit 5 默认情况下并不提供自动解析构造函数参数的能力。

最简单的解决方法:换为 @Autowired 注入。

@SpringBootTest(classes = WeChatServiceImpl.class)
class WeChatServiceImplTest {
	@Autowired
	private IWeChatService weChatService;

	@Test
	void getPhoneNumber() {
		System.out.println(weChatService.getPhoneNumber("Service"));
	}
}

@Autowired 和 构造器 注入 Bean 有什么区别

相关文章:

  • 计算机视觉算法比较
  • Html5学习教程,从入门到精通,HTML5 列表语法知识点及案例代码(11)
  • 准备好了数据集之后,如何在ubuntu22.04上训练一个yolov8模型。
  • [Lc_Notes] hash去重 | find | string逐字符处理 | 栈溢出
  • 解决Docker拉取镜像超时错误,docker: Error response from daemon:
  • SpringBoot快速入门
  • Debian基于Hexo搭建个人博客
  • 最新版AI大模型面试八股文
  • 菜鸟之路Day21一一网络编程
  • 超详细:数据库的基本架构
  • 基于NI USRP 硬件的下一代O-RAN研究测试台​
  • 服务器租用:静态BGP和动态BGP分别指什么?
  • 大白话css第七章跨领域融合创新、行业标准与规范遵循
  • Vue 3 响应式系统:最佳实践与陷阱解析
  • FlashMLA(DeepSeek开源周,第一个框架):含源码分析
  • Java+iTextPDF,实时生成与预览PDF文件的最佳实践!
  • 智慧农业中光谱相机对土壤成分的无损检测应用‌
  • python学习第三天
  • qt作业day2
  • 五分钟快速学习优秀网站的HTML骨架布局设计
  • 以色列媒体:哈马斯愿意释放部分人员换取两个月停火
  • 国宝归来!子弹库帛书二、三卷抵达北京
  • 新任重庆市垫江县委副书记刘振已任县政府党组书记
  • 卿晨璟靓等用服刑经历“引流”,专家:将犯罪问题娱乐化会消解刑罚严肃性
  • 上百家单位展示AI+教育的实践与成果,上海教育博览会开幕
  • 端午小长假前夜火车票今日开抢,多个技巧提高购票成功率