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

改BUG:Mock测试服务层的时候,应注入服务类的实现,而不是接口。

bug再现

在使用mock测试时,像这样注入一个服务类

@InjectMocks
private IUserRegisterService userRegisterService;

然后再进行测试就会报这个错

Cannot instantiate @InjectMocks field named 'userRegisterService'! Cause: the type 'IUserRegisterService' is an interface.
You haven't provided the instance at field declaration so I tried to construct the instance.

解决

其实报错里已经说了,这个I开头的是个接口,我们应该注入一个具体实现类

@InjectMocks
private UserRegisterServiceImpl userRegisterService;  // 需要测试的 Service 实现

像这样写一个Impl就ok了。


http://www.kler.cn/a/559485.html

相关文章:

  • 生活教练项目_Trae
  • 【Java消息队列】应对消息丢失、重复、顺序与积压的全面策略
  • 前端面试-JavaScript 数据类型检测全解
  • Leetcode-668. Kth Smallest Number in Multiplication Table[C++][Java]
  • 微信小程序页面导航与路由:实现多页面跳转与数据传递
  • 深入HBase——数据结构与算法
  • 计算机网络真题练习(高软29)
  • 一种简单的快速批量视频抽取固定间隔帧截图的操作方法
  • 【DevOps构筑篇】用SELinux强化Docker的安全性
  • DeepSeek模型量化
  • 常见的“锁”有哪些?
  • YOLOv12源码及模型权重——免费下载
  • 数据库增删查改sql语句
  • Laravel框架入门指南:从零开始构建现代Web应用
  • 输入框元素覆盖冲突
  • 计算机毕业设计SpringBoot+Vue.js教师工作量管理系统(源码+LW文档+PPT+讲解)
  • 编程小白冲Kaggle每日打卡(13)--kaggle学堂:<机器学习简介>基础数据探索
  • 基于javaweb的SpringBoot酒店管理系统设计和实现(源码+文档+部署讲解)
  • 【Python + STM32 实现外设控制的从0-1实例教程-适合新手】
  • JavaScript AJAX 库