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

相关推荐
java1234_小锋几秒前
Java高频面试题:怎么实现Redis的高可用?
java·开发语言·redis
jiankeljx4 分钟前
MySQL-mysql zip安装包配置教程
java
FlagOS智算系统软件栈5 分钟前
智源×Eclipse基金会携手打造PanEval,中欧协同开启“评测+开源+合规”新模式
java·eclipse·开源
日出等日落11 分钟前
用 Kavita实现我的远程数字书屋搭建记!
java·开发语言·ide·vscode·编辑器
Alan GEO实施教练18 分钟前
实用新型专利申请代理机构选择:关键考量因素与实操要点讲解
java·开发语言·python
gelald20 分钟前
JVM - 类加载机制
java·jvm·后端
Darkdreams21 分钟前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
Roselind_Yi21 分钟前
云计算实验实操|Keystone安装配置+CloudSim仿真平台部署(超详细图文版)
java·经验分享·笔记·ubuntu·云计算·vim·虚拟机
xieliyu.23 分钟前
Java 基础:接口核心概念与实战详解
java·开发语言
不秃不少年25 分钟前
工厂方法模式(Factory Method)
java·面试·工厂方法模式