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