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-rn144pt摇头功能怎么开启?

    在寒冷的季节里,一台性能优越的暖风机是提升居家舒适度的关键,长虹立式暖风机CDN-RN144PT凭借其高效制热、安全可靠和人性化的设计,成为了众多家庭的选择,摇头功能作为其核心亮点之一,对于实现室内热量的均匀分布、避免局部过热以及创造全方位的温暖环境至关重要,理解并善用这一功能,能极大地提升您的使用体验,本文将……

    2025年10月28日
    0150
  • 龙工CDN855N和LG855N有何区别,哪款更值得买?

    在中国工程机械领域,龙工(Lonking)无疑是装载机市场的领军品牌之一,其5吨级装载机产品线丰富,其中LG855N和CDN855N是两款备受关注的经典型号,但许多用户在选择时常常会对它们的区别感到困惑,虽然同属一个吨级平台,但它们在产品定位、设计理念和核心配置上存在着显著的差异,旨在满足不同用户群体的特定需求……

    2025年10月18日
    0200
  • 如何使用js获取当前页面的url网址后续的内容

    很多小伙伴问了使用js获取当前页面的url网址内容后后续的信息如何获取下面给大家介绍一下:   一、获取当前页面的url网址内容代码如下: //获取对象指定的路径。 al…

    2021年10月23日
    09340
  • 兄弟打印机HL-3150CDN清零步骤具体怎么操作?

    当兄弟打印机HL-3150CDN的控制面板上出现“更换硒鼓”或“硒鼓寿命已尽”的提示时,即使用户已经更换了新的硒鼓单元,这个警告信息可能依然存在,这通常是因为打印机的内部计数器需要手动重置,尤其是在使用兼容或再制造硒鼓时,掌握正确的清零步骤,不仅能消除恼人的提示,还能确保打印机正常工作,延长其使用寿命,本文将为……

    2025年10月17日
    0280

发表回复

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