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

相关推荐

  • 公众号和小程序有什么区别?公众号和小程序的区别及适用场景

    定位不同、能力边界清晰,但协同价值巨大核心结论:公众号与小程序本质是微信生态中两种互补型工具——公众号主打内容传播与用户关系运营,小程序侧重轻量化服务交付与场景化功能实现;二者并非替代关系,而是“内容引流+服务承接”的黄金组合,企业若仅将二者割裂看待,将错失微信生态内最高效的流量闭环路径,底层定位差异:内容平台……

    2026年4月16日
    0984
  • 掌握asp.net重点知识,初学者应关注哪些核心模块并规划学习路径?

    ASP.NET核心技术与应用实践ASP.NET是微软推出的企业级Web开发框架,自2002年首次发布以来,已迭代多个版本,是构建动态Web应用程序的核心技术之一,它基于.NET平台,结合C#语言,提供了从基础Web服务到复杂企业级应用的全面解决方案,凭借高效、安全、灵活的特性,在Web开发领域占据重要地位,核心……

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

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

      2026年1月10日
      020
  • 公众号非业务域名是什么,公众号非业务域名怎么解决

    公众号非业务域名的识别与治理,是企业构建合规互联网生态、保障品牌资产安全及提升搜索引擎权重的核心战略环节,对于依赖微信生态进行流量分发,同时拥有独立官网的企业而言,明确区分“业务域名”与“非业务域名”,并建立严格的隔离机制,是规避搜索引擎降权、防止流量劫持以及确保用户访问体验的唯一正解,若处理不当,非业务域名的……

    2026年4月26日
    0262
  • 分发网络安全许可证,有哪些必要条件和流程疑问?

    什么是CDN内容分发网络安全许可证?分发网络安全许可证是一种官方认证,旨在确保CDN(内容分发网络)服务提供商能够提供安全可靠的内容分发服务,这种许可证通常由政府机构或专业认证机构颁发,要求服务商在技术、管理和服务等方面达到一定的安全标准,申请CDN内容分发网络安全许可证的必要性提升品牌形象:获得CDN内容分发……

    2025年11月14日
    01430

发表回复

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