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

相关推荐

  • 公共oracle数据库怎么用?oracle数据库连接失败怎么办

    公共 Oracle 数据库在数字化转型的深水区,其核心价值已从单纯的数据存储转向高可用、高安全与弹性伸缩的综合算力底座,当前企业面临的最大痛点并非数据库本身的技术落后,而是传统架构在应对突发流量、数据孤岛及运维复杂度时的响应滞后与成本失控,解决这一矛盾的唯一路径,是构建云原生的混合部署架构,将核心交易数据保留在……

    2026年4月25日
    03003
  • 光纤通信专用网络购买,光纤通信专用网络多少钱,光纤通信专用网络厂家

    2026 年企业应优先选择“独享光纤 + SD-WAN 混合组网”方案,以解决高带宽低时延痛点,预算需预留 30% 用于安全合规改造,2026 年专用网络选型核心逻辑与场景匹配在数字化转型深水区,通用互联网已无法满足工业 4.0 与实时金融交易的需求,企业采购不再单纯追求“带宽”,而是聚焦“确定性时延”与“物理……

    2026年5月2日
    02332
  • 公众号服务号每天推送消息有次数限制吗?服务号每日推送消息上限多少条

    公众号服务号每天推送消息核心结论:企业必须构建“精准触达+内容增值+合规可控”的三位一体推送策略,才能突破消息淹没率高、用户倦怠、触达失效三大瓶颈,实现服务号消息的长效转化价值,为什么每天推送成为服务号运营的“双刃剑”?微信对服务号每日推送权限的开放,本意是强化服务属性,但数据显示:超68%的用户因“消息过多……

    2026年4月15日
    02984
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • CDN的M2和M3节点在性能、价格及适用场景上有什么区别?

    分发网络(CDN)的技术演进时,Akamai作为行业的奠基者和领导者,其边缘服务器平台的代际更迭具有标志性意义,M2与M3平台代表了两个截然不同的技术时代,它们之间的区别不仅是硬件性能的提升,更是CDN从“内容分发”向“边缘计算”战略转型的核心体现,理解这两者的差异,有助于企业更好地选择符合自身业务需求的CDN……

    2025年10月28日
    01.1K0

发表回复

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