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