Mockito MockBean不能mock MyBatis Mapper解决方法

在使用 MockBean 注解来模拟 MyBatis 接口(interface)的bean(例如 DAO)时遇到了问题,下面介绍一下不能mock MyBatis Mapper解决方法:

Mockito MockBean不能mock MyBatis Mapper解决方法

 

@Mapper
@Repository
public interface OrderDAO {
int insertOrder(@Param(“order“) Order order);
}

想在包含 OrderDAO 类型的字段的 OrderService 中执行集成测试并模拟此映射器。
集成测试用@ springboottest for integration test (webenvironment = springboottestWebEnvironment.RANDOM_PORT)注释并包含以下字段:

@MockBean
Private orderdao;

当运行这样的测试并查看对 OrderDAO 对象的引用是什么时,在集成测试中看到:

com.example.dao.OrderDAO$MockitoMock$1819884459

但在OrderService 类中,该字段是这样的:

com.sun.proxy.$Proxy179 (org.It’s not a good idea.binding.MapperProxy@37d9310e)

因此,对 Mockito.verify 的调用显然不起作用,因为我的模拟尚未注入到我的 OrderService 类中。

解决方案

必须将mapper的bean的名称添加到模拟 bean 注解中:

@MockBean(name = “orderDAO“)
Private orderdao;
以上就是关于“Mockito MockBean不能mock MyBatis Mapper解决方法”的相关解答,酷番云云南知名老牌云服务商,云服务器用户按需选择内存、数据盘、cup等配置大小,弹性灵活扩容,平滑升级。专业技术团队7×24小时服务支持,售后无忧!

高性价比云服务器选购地址:

https://www.kufanyun.com/server/buy.html

图片来源于AI模型,如侵权请联系管理员。作者:路飞,如若转载,请注明出处:https://www.kufanyun.com/ask/1299.html

(0)
上一篇2021年12月9日 15:35
下一篇 2021年12月11日 15:53

相关推荐

  • 立思辰ga7330cdn打印机性能如何?是否值得购买?

    立思辰GA7330CDN打印机:高效办公的得力助手产品简介立思辰GA7330CDN打印机是一款集打印、复印、扫描、传真于一体的多功能设备,适用于企业、学校、政府机关等办公环境,该打印机采用先进的打印技术,具有高速、高效、高质量的特点,是现代办公的理想选择,产品特点高速打印立思辰GA7330CDN打印机采用高速打……

    2025年11月22日
    0100
  • 兄弟L8250CDN加粉后提示更换硒鼓,如何手动清零?

    对于拥有兄弟L8250CDN这款彩色激光打印机的用户而言,当墨粉用尽时,除了更换原装墨粉盒外,自行加粉是一种极具性价比的选择,仅仅将物理的墨粉添加到盒中是远远不够的,打印机内部的计数器依然会记录墨粉已用尽,从而拒绝继续打印,掌握正确的加粉与清零方法至关重要,本文将为您提供一份详尽、清晰的操作指南,帮助您轻松完成……

    2025年10月27日
    0750
  • 大陆节点加持的国外免费CDN加速服务,效果如何?真的免费吗?

    随着互联网技术的不断发展,越来越多的企业和个人开始关注网站的性能和访问速度,为了提升用户体验,许多网站选择使用CDN(内容分发网络)服务,CDN可以将网站内容分发到全球各地的节点,从而实现快速访问,本文将介绍一些具有大陆节点的国外免费CDN加速服务,帮助您提升网站访问速度,免费CDN加速服务概述免费CDN加速服……

    2025年11月10日
    060
  • 立思辰gb7531cdn扫描身份证的具体步骤是什么?

    立思辰GB7531CDN作为一款高效便捷的高拍仪设备,在金融、政务、教育及各类服务窗口中被广泛应用,其强大的身份证扫描与识别功能,极大地提升了业务办理效率和信息数字化水平,本文将详细介绍如何使用立思辰GB7531CDN进行身份证扫描,涵盖从基础准备到高级应用的完整流程,并提供实用的操作技巧与问题解决方案,准备工……

    2025年10月27日
    0190

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注