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

相关推荐

  • 服务器10兆网络有必要开启CDN加速服务吗?

    在当今的互联网环境中,服务器的网络带宽是决定网站访问速度和用户体验的关键因素之一,当面对“服务器10兆网络需要开CDN吗”这个问题时,答案并非简单的“是”或“否”,而是一个需要结合具体应用场景进行深入分析的决策,10Mbps,即10兆比特每秒的带宽,在现代互联网应用中,尤其是在处理静态资源和并发访问时,会很快成……

    2025年10月28日
    0110
  • 爆爆cdn资源访问异常,深层原因究竟是什么?

    分发网络(CDN)来加速网站或应用时,我们期望其能提供稳定、快速的访问体验,当“爆爆CDN”这类服务出现资源访问问题时,原因往往是多方面的,理解这些问题的根源,是快速定位并解决问题的关键,我们可以从源站、CDN服务本身以及用户端三个维度进行系统性分析,源站服务器是根本源站是所有资源的最初来源,CDN的作用是将其……

    2025年10月13日
    0240
  • dcp9030cdn打印机墨盒加粉步骤详解,新手如何轻松完成?

    DCP9030cdn打印机墨盒加粉概述DCP9030cdn打印机是一款性能稳定的彩色喷墨打印机,其墨盒加粉操作相对简单,下面将详细介绍如何进行加粉,准备工具与材料在进行墨盒加粉之前,您需要准备以下工具和材料:墨水:选择与打印机型号相匹配的墨水,确保墨水质量,吸墨棒:用于吸取墨水,擦拭纸:用于擦拭墨盒表面,剥线钳……

    2025年11月4日
    0110
  • 魔兽世界下载卡在获取cdn配置是什么原因怎么办?

    当您满怀期待地准备进入艾泽拉斯世界,却发现在战网客户端中,《魔兽世界》的下载进度条始终停留在“正在获取CDN配置”或“Getting CDN configuration”阶段时,无疑会感到困惑与沮丧,这个状态究竟意味着什么?为什么它会持续如此之久?本文将为您深入剖析这一现象,并提供一系列行之有效的解决方案,理解……

    2025年10月26日
    0120

发表回复

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