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

相关推荐

  • 百度P2P CDN客户端无法安装是什么原因,该如何解决?

    分发日益重要的今天,百度P2P CDN客户端凭借其独特的点对点技术,为众多企业和开发者提供了高效、低成本的流量分发解决方案,在实际部署过程中,部分用户可能会遭遇“百度P2P CDN客户端无法安装”的棘手问题,这不仅影响了项目的进度,也给技术人员带来了困扰,本文旨在系统性地剖析该问题的成因,并提供一套详尽、结构化……

    2025年10月15日
    02670
  • 如何在ASP.NET中高效地将Txt文件内容映射至数据视图的技巧与实现方法?

    在ASP.NET中,将数据从TXT文件读取到数据视图(DataView)是一个常见的任务,尤其是在处理非结构化文本数据时,以下是一个详细的步骤指南,展示了如何实现这一过程,准备工作在开始之前,确保你的ASP.NET项目已经配置好,并且你有一个TXT文件用于数据源,创建TXT文件创建一个TXT文件,并填充一些数据……

    2025年12月16日
    01200
  • 如何用公共云原生搭建高效应用?公共云原生搭建步骤与最佳实践

    企业数字化转型的最优路径与实战指南在当前技术迭代加速、业务需求多变的环境下,公共云原生搭建已成为企业实现敏捷创新、降本增效与可持续发展的核心战略选择,相比传统IT架构或私有云方案,公共云原生通过标准化、自动化、弹性伸缩与服务化治理,显著缩短交付周期、降低运维门槛,并支持秒级弹性扩容,满足高并发、高可用业务场景需……

    2026年4月17日
    0234
    • 服务器间歇性无响应是什么原因?如何排查解决?

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

      2026年1月10日
      020
  • ASP.NET线程批量导入数据时,如何通过Ajax实现执行状态的实时获取与监控?

    ASP.NET线程批量导入数据时通过Ajax获取执行状态在ASP.NET应用开发中,处理大量数据导入任务时,多线程技术能显著提升性能,用户往往希望实时了解任务执行进度,此时结合Ajax技术实现异步状态获取,能优化交互体验,本文将详细解析ASP.NET中通过线程批量导入数据时,如何利用Ajax动态获取执行状态,并……

    2026年1月4日
    01060

发表回复

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