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

相关推荐

  • 宝华cdn1t配金嗓子405,这组合性能如何?适用场景有何特点?

    宝华CDN1T配金嗓子405:高效稳定的网络解决方案宝华CDN1T简介宝华CDN1T是一款高性能的网络存储设备,具备高速的数据读写能力和强大的数据处理能力,它广泛应用于企业、教育、医疗等领域,为用户提供稳定、高效的数据存储和传输服务,金嗓子405简介金嗓子405是一款高性能的网络交换机,具有出色的数据传输性能和……

    2025年12月11日
    0580
  • CDN触发式切片点播系统,如何实现秒开和存储优化?

    爆炸的时代,流媒体点播服务已成为互联网应用的核心组成部分,随着内容库的急剧膨胀,传统的流媒体分发模式在存储成本、计算资源利用率和首屏加载速度等方面面临着日益严峻的挑战,为应对这些挑战,一种融合了内容分发网络(CDN)与动态处理技术的创新方案应运而生,即基于CDN的流媒体触发式切片点播系统和方法,该系统彻底颠覆了……

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

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

      2026年1月10日
      020
  • AspectJ类库是什么?如何利用它实现高效的切面编程?

    {aspectj类库}:深度解析与实战应用什么是AspectJ与AOP基础AspectJ是Java语言的扩展,通过面向切面编程(AOP)技术,将程序中的“横切关注点”(如日志、事务、安全、性能监控等)从核心业务逻辑中分离出来,形成独立的“切面”,这种设计能显著提升代码解耦度,让业务逻辑更专注,同时实现横切功能的……

    2026年1月13日
    0330
  • ASP.NET页面间值传递方法汇总,哪一种方式最适合你的应用需求?

    在ASP.NET开发中,页面之间传递值是常见的需求,以下将详细介绍几种在ASP.NET中页面之间传递值的方式,并辅以表格进行总结,Query String(查询字符串)查询字符串是通过在URL后添加参数名和值来传递数据的,这种方式简单易用,但安全性较低,且存在长度限制,示例:http://example.com……

    2025年12月20日
    0780

发表回复

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