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究竟只是中转站,还是另有深意?揭秘其背后的网络奥秘!

    在当今互联网高速发展的时代,内容分发网络(Content Delivery Network,简称CDN)已经成为保障网站和应用程序快速、稳定访问的重要技术,CDN是否可以被视为一个中转站呢?以下是对这一问题的详细探讨,CDN的定义与作用什么是CDN?CDN是一种通过在全球多个节点部署服务器,以优化内容分发速度和……

    2025年12月8日
    070
  • v2ray配置CDN后,怎么看它有没有成功生效?

    在配置V2Ray时,为了增强线路的稳定性和隐蔽性,许多用户会选择将其与内容分发网络(CDN)结合使用,CDN能够将用户的流量伪装成正常的网页访问,从而有效规避一些基于流量特征的干扰,配置完成后,如何判断CDN是否真正生效并成功地为V2Ray提供了中转服务,是一个至关重要的问题,以下将从多个维度,系统性地介绍如何……

    2025年10月19日
    0370
  • 阿里云服务器配置高防cdn步骤详解,如何高效提升网站安全性?

    阿里云服务器如何使用高防CDN:了解高防CDN高防CDN(内容分发网络)是一种通过在全球多个节点部署缓存服务器,将用户请求的内容分发到最近的节点,从而提高访问速度、降低带宽成本和增强网站安全性的技术,阿里云高防CDN通过强大的防御能力,可以有效应对DDoS攻击,保障网站稳定运行,阿里云高防CDN使用步骤登录阿里……

    2025年12月8日
    060
  • 成都众安帮创cdn宣发凉山州,此举背后有何深意?

    成都众安帮创cdn宣发凉山州:项目背景近年来,随着互联网技术的飞速发展,CDN(内容分发网络)已成为各大企业提高网站访问速度、优化用户体验的重要手段,成都众安帮创科技有限公司(以下简称“众安帮创”)作为一家专注于CDN服务的企业,致力于为客户提供高效、稳定的网络加速解决方案,为助力凉山州信息化建设,众安帮创特推……

    2025年11月18日
    090

发表回复

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