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证:企业合规运营的必备凭证增值电信业务许可证定义增值电信业务许可证是指国家通信管理部门依法颁发的,允许企业在中华人民共和国境内从事增值电信业务的许可证明,类型根据业务范围,增值电信业务许可证可分为以下几类:(1)基础电信业务许可证:包括固定网、移动网、卫星通信网等基础电信业务,(2)增……

    2025年11月15日
    080
  • 微信小程序云开发资源cdn超出,如何有效优化成本与性能?

    微信小程序云开发资源CDN超出:解决方案与优化策略背景介绍随着微信小程序的普及,越来越多的开发者开始使用微信小程序云开发功能,云开发提供了丰富的API和资源,使得开发者可以更加便捷地开发小程序,在使用云开发过程中,可能会遇到资源CDN超出的问题,本文将针对这一问题,分析原因并提出相应的解决方案与优化策略,资源C……

    2025年11月23日
    040
  • CDN赚钱平台那么多,到底哪个收益最高最稳定?

    影响CDN收益的核心因素在选择平台之前,我们首先需要理解哪些因素直接决定了我们的最终收益,只有掌握了这些关键点,才能做出更明智的判断,单价与结算周期:这是最直观的因素,不同平台对每GB流量的计费价格(即单价)存在差异,结算周期(日结、周结、月结)和最低提现门槛也直接影响资金的回笼速度和灵活性,节点需求与地理位置……

    2025年10月21日
    0550
  • 超脑超算CDN投资成本几何?详细预算解析与决策指南!

    随着互联网技术的飞速发展,超脑超算CDN已成为我国科技创新的重要方向,超脑超算CDN作为一种高效、智能的网络加速技术,能够大幅提升数据传输速度,降低网络延迟,为用户提供更加流畅的网络体验,超脑超算CDN的投资成本也是一个不容忽视的问题,本文将为您详细解析超脑超算CDN的投资成本,以期为我国超脑超算CDN产业发展……

    2025年12月4日
    090

发表回复

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