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

相关推荐

  • aspcms最新版本是什么?官方最新版本号及发布时间查询方法

    AspCms作为国内知名的Web内容管理系统,自2003年发布以来,始终在内容管理领域保持领先地位,随着互联网技术的飞速发展,AspCms不断迭代升级,其最新版本(以V10.0为例)融合了微服务架构、容器化部署、AI内容生成等前沿技术,为用户提供了更高效、更安全、更智能的内容管理解决方案,本文将从技术升级、性能……

    2026年1月13日
    02110
  • 供水调度系统与智能服务热线系统如何协同?

    供水调度系统与智能服务热线系统的深度融合,能通过实时数据联动将管网漏损率降低至8%以下,并将用户投诉响应时间缩短至15分钟内,是目前水务行业实现数字化转型的核心解决方案,传统模式痛点与数字化变革必要性过去,水务企业往往面临“调度盲、服务慢”的双重困境,传统供水调度依赖人工经验判断,缺乏实时数据支撑,导致爆管反应……

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

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

      2026年1月10日
      020
  • npm install总是报错:unable to verify the first certificate的两种解决方法

    拉起svn 运行碰到问题: 本地项目问题 解决办法: 重新打开cmd窗口: 取消ssl验证: npm config set strict-ssl false 运行 npm inst…

    2021年12月30日
    02.5K0
  • 公众号域名怎么注册时间?公众号域名注册流程与注意事项

    公众号域名怎么注册时间公众号域名的注册时间并无固定周期,核心在于“域名注册即生效”与“公众号主体认证绑定”两个独立环节,通常情况下,域名注册成功后即可立即使用,但若要完成公众号的域名配置、微信认证及功能开通,需预留 1 至 3 个工作日用于域名解析生效及微信官方审核,真正的“注册时间”并非指购买动作的耗时,而是……

    2026年4月27日
    0755

发表回复

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