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?从入门到精通的步骤及资源推荐是什么?

    ASP.NET学习:从入门到实战的全面指南ASP.NET作为微软推出的企业级Web开发框架,是构建高性能、可扩展Web应用的核心工具,无论是传统企业级应用还是现代微服务架构,ASP.NET都能提供强大的技术支撑,本文将从基础知识、核心模块、高级实践三个维度,结合行业经验与实战案例,系统梳理ASP.NET的学习路……

    2026年1月24日
    02620
  • 长虹冷暖风机CDN-RN51PRT,这款新型冷暖风机性能如何?值得购买吗?

    长虹冷暖风机CDN-RN51PRT:智能家居的贴心伴侣长虹冷暖风机CDN-RN51PRT是一款集冷暖风、净化空气、加湿等功能于一体的智能家居产品,它采用先进的科技,旨在为用户提供舒适、健康的室内环境,产品特点智能控制长虹冷暖风机CDN-RN51PRT支持智能控制,用户可以通过手机APP远程操控,实现随时随地调节……

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

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

      2026年1月10日
      020
  • 腾讯云轻量级服务器是否配置CDN必要?影响速度还是成本?

    腾讯云轻量级服务器需要CDN吗?随着互联网的快速发展,越来越多的企业开始使用云服务器来搭建网站、应用等,腾讯云轻量级服务器因其高性能、低成本的特性,受到许多企业的青睐,在部署轻量级服务器时,是否需要配置CDN(内容分发网络)呢?本文将为您详细解析,什么是CDN?CDN是一种通过在全球范围内部署多个节点,将用户请……

    2025年12月1日
    03640
  • 如何使用Asp.net动态生成HTML页面?相关方法详解与步骤

    Asp.net动态生成html页面的方法分享动态生成HTML是ASP.NET开发中常见的需求,尤其在需要根据用户数据、业务逻辑或外部数据源实时生成页面内容时,本文将系统介绍ASP.NET中动态生成HTML的多种方法,涵盖基础、高级及第三方方案,并通过对比分析帮助开发者选择合适的技术栈,基础方法:Response……

    2026年1月2日
    03500

发表回复

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