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服务器软件下载详解什么是CDN服务器?CDN(Content Delivery Network,内容分发网络)是一种通过在全球范围内部署多个节点服务器,将网站内容缓存到这些节点上,以便用户可以更快地访问网站内容的技术,CDN服务器的主要作用是提高网站内容的访问速度,降低带宽成本,提高用户体验,CDN服务器……

    2025年11月10日
    070
  • 华为PVT54G路由器配置下,能否实现CDN加速服务?

    华为PVT54G路由器能跑CDN吗?随着互联网的普及,越来越多的家庭和企业开始使用路由器来提高网络速度和稳定性,华为PVT54G路由器作为一款高性能的路由器,其功能丰富,性能稳定,受到了许多用户的青睐,华为PVT54G路由器能否运行CDN(内容分发网络)呢?本文将对此进行详细解答,什么是CDN?CDN是一种网络……

    2025年11月1日
    050
  • 如何准确判断一个网站是否采用了CDN加速技术?

    在当今互联网时代,网站加载速度已成为衡量用户体验的重要指标之一,CDN(内容分发网络)作为一种提高网站访问速度的有效手段,被越来越多的网站采用,如何判断一个网站是否使用了CDN加速呢?以下是一些实用的方法和技巧,CDN简介CDN是一种通过在全球多个节点部署服务器,将网站内容分发到离用户最近的服务器,从而提高网站……

    2025年11月18日
    050
  • 免费CDN加速服务哪家强?揭秘十大服务商真实效果对比?

    随着互联网的快速发展,内容分发网络(CDN)已成为提高网站访问速度、优化用户体验的关键技术,CDN免费加速服务为众多网站和个人提供了便捷的加速体验,以下是十大提供免费CDN加速服务的服务商,供您参考,CDN免费加速服务十大服务商百度云CDN百度云CDN提供丰富的免费加速资源,支持多种加速场景,包括图片、视频、静……

    2025年11月26日
    040

发表回复

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