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数据的参数与在实际单测执行时大参数不是一个对象

相关推荐
what丶k2 分钟前
深入理解Java NIO:从原理到实战的全方位解析
java·开发语言·nio
血小板要健康5 分钟前
笔试面经2(上)(纸质版)
java·开发语言
忧郁的Mr.Li12 分钟前
JVM-类加载子系统、运行时数据区 详解
java·jvm
shehuiyuelaiyuehao17 分钟前
12异常知识点
java
好好研究17 分钟前
MobaXterm远程连接云服务器(Centos环境)及配置jdk、Tomcat、MySQL环境
java·服务器·mysql·jdk·tomcat·aliyun服务器
让我上个超影吧22 分钟前
SpringAI会话记忆实现——基于MYSQL进行存储
java·spring boot·ai
m0_7482331730 分钟前
Laravel vs ThinkPHP:谁更适合你?
java·开发语言
henujolly30 分钟前
How do you troubleshoot a CI failure?
java·开发语言·ci/cd
菜鸟xiaowang32 分钟前
lunch 不显示构建列表
java
草莓熊Lotso34 分钟前
Qt 显示与输入类控件进阶:数字、进度、输入框实战攻略
java·大数据·开发语言·c++·人工智能·qt