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

相关推荐

  • 在使用Parallels虚拟机可能会难住你的5个常见问题

    最近很多小伙伴在使用Parallels虚拟机时常常会遇到下列问题,现在我帮小伙伴解答一下   问题一:虚拟机很耗电,有省电模式吗? 解决方法:点击上方操作进入旅行模式就是…

    2021年9月4日
    01.3K0
  • 中国移动融合CDN四期集采新建,将如何重塑行业竞争格局?

    中国移动作为国内通信行业的领军者,其每一次重大基础设施升级都牵动着整个数字经济的脉搏,近期备受瞩目的“中国移动融合CDN四期集采新建项目”正是其面向未来数字社会、深化算力网络布局的关键落子,该项目不仅是对现有内容分发网络(CDN)能力的简单扩容,更是一次从架构、技术到服务模式的全面革新,旨在构建一个更加智能、高……

    2025年10月15日
    0130
  • 百度云CDN和加速能一起用吗,会产生冲突吗?

    在探讨百度云CDN与“加速”能否协同工作时,我们首先需要厘清一个核心概念:CDN(内容分发网络)本身就是一种实现网络加速的关键技术,这个问题更准确的表述应该是:百度云的CDN服务与其他类型的加速服务(如动态加速、全站加速等)能否结合使用,以实现更全面的性能优化?答案是肯定的,而且这正是现代Web应用性能优化的标……

    2025年10月14日
    0140
  • 独立站用国内服务器加CDN,对海外访问速度和SEO影响大吗?

    在探讨“面向海外用户的独立站,其服务器部署在中国大陆,并搭配CDN加速”这一技术方案的可行性时,我们实际上是在分析一个地理位置与用户群体严重错配的架构,虽然从技术操作层面来看,这种组合并非无法实现,但从实际运营效果、用户体验、合规性及成本效益等多个维度综合评估,它通常被认为是一种极不推荐甚至可以说是“本末倒置……

    2025年10月14日
    0120

发表回复

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