Mockito.when返回的list长度为0问题解决方法

今天玩Mockito.when遇见一个问题Mockito.when返回的list长度为0;上代码

java 复制代码
ArrayList<Org> childDepts = new ArrayList<>();
        Org org = new Org();
        org.setDeptId("1");
        org.setDeptName("1");
        childDepts.add(org);
Mockito.when(orgMapper.selectOrgList(org).thenReturn(childDepts);

业务实现代码

java 复制代码
List<Org> list= orgMapper.selectOrgList(queryChild);
//发现该代码返回的list长度为0

此时应该把我们的模拟代码修改成这样

java 复制代码
Mockito.when(orgMapper.selectOrgList(Mockito.any(Org.class))).thenReturn(childDepts);

分析原因

这是因为虽然你在单测中已经mock数据,但是mock数据的参数与在实际单测执行时大参数不是一个对象

相关推荐
Lichee2013 小时前
招行Java 面试知识点梳理:Spring 事务、锁、线程池、集合
java·面试
YDS82913 小时前
Small Spring IOC篇:作用域和FactoryBean
java·后端·spring
Shaoshing13 小时前
LeetCode100 42.接雨水
java·算法·leetcode
枫子有风13 小时前
卡码网盘项目深挖
java·redis·jwt·es·pgvector
郭小李14 小时前
springmvc 拦截器
java·开发语言·前端
大风起兮云飞扬丶14 小时前
Java——日期类
java·开发语言
Wang's Blog14 小时前
Java 项目实战:交友项目 - 联系人管理需求分析
java·开发语言·交友
lazy H14 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
学到老活到老14 小时前
第 22 集:Filter、Interceptor、AOP 都能拦截,为什么不能互换?
java·后端·spring
sun032215 小时前
【JDK 动态代理】 和 【CGLIB 代理】对比
java·数据库·sql