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

相关推荐

  • 光遇怎么卡彩色渲染云彩,光遇彩色渲染云彩卡法

    光遇手游中实现彩色渲染云彩并非通过官方直接开启的开关,而是基于游戏引擎在特定光照与天气条件下的视觉渲染机制,核心结论是:玩家需通过调整游戏内时间至黄昏或黎明,配合高画质设置,并利用特定地形高度差触发云层折射光效,从而在视觉上获得色彩斑斓的云彩效果,若追求极致画质与稳定体验,酷番云提供的低延迟云游戏方案能确保渲染……

    2026年4月29日
    0724
  • 如何用ASP编写6位随机数?附代码示例与常见问题解决技巧

    在ASP(Active Server Pages)开发中,生成6位随机数是常见需求,常用于验证码、临时密码、唯一标识生成等场景,本文将系统介绍ASP中生成6位随机数的方法、代码实现、应用场景及注意事项,帮助开发者高效实现随机数生成逻辑,生成原理与方法生成6位随机数的核心是利用ASP内置的Rnd函数(返回0~1之……

    2026年1月5日
    02570
  • 公共云原生资源有哪些?云原生资源管理最佳实践

    高效、弹性、可持续的数字化底座核心选择在数字化转型浪潮中,公共云原生资源已成为企业构建敏捷、可扩展、高可用应用架构的最优基础设施选择,它不仅解决了传统IT资源采购周期长、运维成本高、弹性不足等痛点,更通过标准化、自动化、服务化的方式,赋能企业实现“开发即交付”的创新闭环,本文基于酷番云多年服务政企客户的实践,结……

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

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

      2026年1月10日
      020
  • 供应链区块链开发怎么实现?供应链区块链开发公司

    2026年供应链区块链开发的核心结论是:通过联盟链技术实现全链路数据不可篡改与实时溯源,可将供应链金融坏账率降低40%以上,并显著提升跨境贸易结算效率,是当前企业数字化转型的刚需基础设施,供应链区块链开发的核心价值与行业现状在2026年的数字经济背景下,供应链区块链开发已不再仅仅是概念验证,而是成为解决信任痛点……

    2026年5月21日
    0421

发表回复

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