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

相关推荐

  • ASP.NET中如何准确获取服务器URL?不同场景下的实现方法与代码示例?

    在ASP.NET开发中,准确获取服务器URL是构建健壮Web应用程序的基础需求,无论是处理回调接口、生成资源链接,还是进行页面重定向,开发者都需要掌握如何在不同环境下精准提取服务器地址信息,这一过程看似简单,但在涉及负载均衡、反向代理以及不同版本的ASP.NET框架时,往往隐藏着许多技术细节,深入理解“asp……

    2026年2月3日
    01070
  • 瑞虎7cdn油改电改造真相揭秘,是否真的从油车转变为电车?

    瑞虎7 CDN:揭秘油改电的奥秘瑞虎7 CDN简介瑞虎7 CDN是奇瑞汽车旗下的一款紧凑型SUV,自上市以来,凭借其时尚的外观、丰富的配置和亲民的价格,受到了消费者的广泛好评,瑞虎7 CDN作为瑞虎7系列的升级版,在原有车型的基础上,进行了多项改进和升级,瑞虎7 CDN的油改电技术油改电的定义油改电,即指将原本……

    2025年12月6日
    01410
    • 服务器间歇性无响应是什么原因?如何排查解决?

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

      2026年1月10日
      020
  • 公众号云服务器要买域名吗?需不需要域名才能搭建网站

    公众号云服务器要买域名吗结论先行:购买公众号关联的云服务器,必须配置域名, 域名不仅是服务器对外服务的“身份证”,更是实现 HTTPS 加密传输、提升用户信任度、规避访问拦截以及满足微信生态合规要求的核心基础设施,没有域名,您的服务器将只能以 IP 地址形式存在,这在微信生态中极大概率导致链接失效、被判定为不安……

    2026年4月26日
    0421
  • 光纤网络用猫吗?光纤猫是什么,光纤猫和路由器区别

    光纤网络不需要传统意义上的“猫”(调制解调器),而是使用光猫(光调制解调器/ONU),这是光纤接入技术(FTTx)与铜缆接入技术(ADSL)在物理层传输介质上的根本区别,传统“猫”负责将模拟信号与数字信号互相转换,而光纤传输的是光信号,因此必须通过光猫将光信号转换为电信号,才能被路由器或电脑识别,核心结论:光猫……

    2026年5月1日
    0602

发表回复

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