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

相关推荐

  • CDN盒子项目加盟能赚钱吗?官网旗舰店直播揭秘。

    在数字经济浪潮席卷全球的今天,内容分发网络(CDN)已成为支撑在线视频、电商、游戏等众多行业高速运转的隐形基石,传统的CDN架构面临着成本高昂、扩展性受限等挑战,正是在这样的背景下,一种融合了共享经济理念的创新技术——CDN盒子应运而生,它不仅为企业提供了更高效、更低成本的内容加速方案,更通过独特的项目加盟模式……

    2025年10月26日
    0220
  • 在CDN覆盖下,如何准确追踪并获取网站的真实IP地址?

    在互联网时代,内容分发网络(Content Delivery Network,简称CDN)已成为提高网站访问速度和用户体验的重要工具,有时候我们需要找到CDN背后的真实地址,以便进行更深入的分析或操作,以下是一些方法和步骤,帮助您找到CDN后的真实地址,CDN简介CDN是一种将内容分发到全球多个边缘服务器的网络……

    2025年11月21日
    0120
  • CDN技术对网络直播影响巨大,它究竟是如何改变直播行业的?

    随着互联网技术的飞速发展,网络直播行业也迎来了前所未有的繁荣,在这个过程中,新技术不断涌现,为直播行业带来了革命性的变化,本文将探讨对于网络直播影响最大的新技术——CDN(内容分发网络),CDN的崛起什么是CDN?CDN是一种网络技术,通过在全球范围内部署大量的服务器,将互联网内容分发到离用户最近的服务器上,从……

    2025年11月23日
    050
  • Linux系统如何卸载磁盘?

    下面一期咱们讲了“Linux系统如何挂载磁盘?”,没有看过的可以去看看哦,今天来教大家如何把已经挂载的磁盘卸载掉。 直接上干货 可以用umount命令取消挂载。用于卸载一个已挂载的…

    2021年2月3日
    02.0K0

发表回复

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