当前使用版本(必填,否则不予处理)
mybatis-plus版本
该问题是如何引起的?(确定最新版也有问题再提!!!)
在使用Mockito进行分层单元测试时,mapper是mock出来的,且已经设置了当调用 mapper.updateById()方法时返回 1 ,但是运行时这个方法返回回的是 0,导致测试失败
重现步骤(如果有就写完整)
报错信息
Comment From: DamonWz
附加:updateById() 继承自 BaseMapper
Comment From: miemieYaho
有复现demo?
Comment From: DamonWz
有复现demo?
您好!抱歉现在回复。 demo我放在 https://github.com/DamonWz/mp-mockito-demo 麻烦您了!谢谢
Comment From: miemieYaho
你这mock的并不是userService里面的userMapper吧
Comment From: DamonWz
我打印了两个mapper的hashcode,是一样的
------------------ 原始邮件 ------------------ 发件人: "miemieYaho"<notifications@github.com>; 发送时间: 2020年7月30日(星期四) 下午2:49 收件人: "baomidou/mybatis-plus"<mybatis-plus@noreply.github.com>; 抄送: "大梦先森"<852614303@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [baomidou/mybatis-plus] 使用mybatis-plus和mockito时遇到的一个问题 (#2781)
你这mock的并不是userService里面的userMapper吧
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
Comment From: DamonWz
还有一个点是如果调用的是自个写的mapper方法时,when(userMapper.myMethod()).thenReturn(value)是生效的,当调用例如 updateById(),insert()等继承来的方法,即使设置了返回值也不会生效
------------------ 原始邮件 ------------------ 发件人: "baomidou/mybatis-plus" <notifications@github.com>; 发送时间: 2020年7月30日(星期四) 下午2:49 收件人: "baomidou/mybatis-plus"<mybatis-plus@noreply.github.com>; 抄送: "大梦先森"<852614303@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [baomidou/mybatis-plus] 使用mybatis-plus和mockito时遇到的一个问题 (#2781)
你这mock的并不是userService里面的userMapper吧
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
Comment From: yuxiaobin
when(userMapper.insert(userEntity)).thenReturn(1);
改成: when(userMapper.insert(any(UserEntity.class))).thenReturn(1);
Comment From: DamonWz
Bingo! 非常感谢您在百忙之中帮我解答问题!谢谢! 这个问题是我对mockito框架不熟悉造成的,惭愧惭愧...我以后会多学习
------------------ 原始邮件 ------------------ 发件人: "baomidou/mybatis-plus" <notifications@github.com>; 发送时间: 2020年7月30日(星期四) 下午3:49 收件人: "baomidou/mybatis-plus"<mybatis-plus@noreply.github.com>; 抄送: "大梦先森"<852614303@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [baomidou/mybatis-plus] 使用mybatis-plus和mockito时遇到的一个问题 (#2781)
when(userMapper.insert(userEntity)).thenReturn(1);
改成: when(userMapper.insert(any(UserEntity.class))).thenReturn(1);
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.