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

相关推荐

  • z41h16cdn100闸阀具体指代什么型号和规格?

    Z41H16CDN100闸阀详解闸阀是一种常用的阀门类型,主要用于截断或开启管道中的流体,它具有结构简单、启闭迅速、密封性能好等特点,Z41H16CDN100闸阀作为一种常见的闸阀型号,具有以下含义:Z41H16CDN100闸阀各部分含义Z41:表示该闸阀的公称压力等级为1.6MPa,H:表示该闸阀的连接方式为……

    2025年11月15日
    080
  • 立思辰3530cdn打印机硒鼓质量如何?使用效果值得信赖吗?

    立思辰3530cdn打印机硒鼓:高效打印伴侣的守护者硒鼓,作为打印机中不可或缺的耗材之一,承担着将数字信号转化为物理图像的重要角色,立思辰3530cdn打印机硒鼓,以其卓越的性能和稳定的品质,成为了众多用户的首选,立思辰3530cdn打印机硒鼓特点高品质打印效果立思辰3530cdn打印机硒鼓采用高品质碳粉,确保……

    2025年11月22日
    040
  • 小米盒子画报CDN资源访问故障,具体原因及修复时间为何?

    小米盒子出现画报CDN资源访问出现问题随着科技的不断发展,智能电视盒子已经成为了家庭娱乐的重要设备,小米盒子作为其中的佼佼者,凭借其出色的性能和丰富的内容资源,赢得了广大消费者的喜爱,近期有用户反映,在使用小米盒子观看画报时,出现了CDN资源访问问题,影响了观看体验,本文将针对这一问题进行分析,并提出解决方案……

    2025年11月7日
    080
  • 忘记宝塔面板访问控制端口怎么办?

          今天有个小伙伴宝塔面板忘记了端口 找到了我,顺便我没事就帮他看了下,其实宝塔面板看所使用的端口是很简单的,连接好SSH,输入以下命令即可,…

    2019年11月13日
    02.4K0

发表回复

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