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

相关推荐

  • dcp9030cdn官方驱动在哪里可以免费下载?

    在现代化的办公环境中,一台高效稳定的多功能一体机是提升生产力的关键,Brother DCP-9030CDN作为一款经典的彩色激光多功能一体机,集打印、复印、扫描功能于一身,凭借其出色的性能和可靠性,赢得了众多用户的青睐,要充分发挥这台设备的全部潜能,一个至关重要且不容忽视的环节便是正确安装其官方驱动程序,本文将……

    2025年10月17日
    0240
  • 如何有效清除兄弟8260cdn设备上的加粉记录?详解清零技巧!

    兄弟8260cdn加粉清零方法详解背景介绍兄弟8260cdn是一款高性能的彩色激光打印机,因其打印速度快、质量高、稳定性好等特点受到广大用户的喜爱,在使用过程中,打印机可能会出现加粉量累计过多的情况,导致打印效果下降,本文将详细介绍兄弟8260cdn加粉清零方法,帮助用户轻松解决问题,加粉清零方法打开打印机将打……

    2025年11月18日
    090
  • 长虹浴用加热器cdn-zy1588-a,性能如何?使用体验如何?

    长虹浴用加热器cdn-zy1588-a:温暖生活,尽在一触之间产品简介长虹浴用加热器cdn-zy1588-a是一款专为浴室设计的高效、安全、节能的加热设备,它采用先进的加热技术,能够快速将水温加热至设定温度,为用户提供舒适的沐浴体验,产品特点快速加热长虹浴用加热器cdn-zy1588-a采用高功率加热元件,能够……

    2025年11月15日
    040
  • 防火墙后百度P2P CDN为何无法正常工作?

    爆炸的时代,高清视频、大型软件、在线游戏等海量数据的传输需求对传统内容分发网络(CDN)构成了严峻挑战,传统CDN依赖中心化服务器,随着用户量激增,带宽成本和服务器压力呈指数级上升,在此背景下,一种更为高效、经济的架构——P2P CDN应运而生,作为国内互联网技术的领军者,百度凭借其庞大的用户基础和技术积累,在……

    2025年10月25日
    0120

发表回复

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