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月12日
    0395
  • 公云免费域名如何解析到主机,免费域名怎么解析到主机

    公云免费域名如何解析到主机将公云免费域名成功解析至主机,核心在于准确配置 DNS 记录并严格匹配主机服务商提供的 CNAME 或 A 记录值,同时需优先解决免费域名常见的解析延迟与稳定性问题, 这一过程并非简单的数字录入,而是一项涉及 DNS 全球同步机制、主机环境配置及网络策略协同的系统工程,只要掌握正确的解……

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

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

      2026年1月10日
      020
  • HL-L8250CDN打印机驱动下载去官网哪里才最安全呢?

    在当今高效的办公环境中,一台性能可靠的打印机是不可或缺的生产力工具,兄弟(Brother)HL-L8250CDN作为一款备受青睐的彩色激光打印机,以其出色的打印质量、稳定的性能和丰富的功能,赢得了众多企业与个人用户的信赖,要让这台打印机在您的电脑上发挥全部潜能,一个核心环节不容忽视——正确安装其驱动程序,本文将……

    2025年10月26日
    01540
  • 京瓷5521cdn打印机频繁出现错误代码c4600,这是怎么回事?

    京瓷5521cdn错误代码C4600解析及解决方法错误代码C4600概述京瓷5521cdn是一款高性能的彩色激光打印机,但在使用过程中可能会遇到错误代码C4600,该错误代码通常表示打印机内部存在故障,需要用户进行相应的检查和维修,错误代码C4600可能原因传感器故障传感器连接线松动传感器脏污传感器损坏打印机内……

    2025年12月5日
    02140

发表回复

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