【发布时间】:2019-08-29 13:40:13
【问题描述】:
我是 Mockito 的新手,我正在尝试在列表为 null 时抛出 NullPoinerException(),对于这种情况,我使用下面的代码进行测试,但我得到异常 java.lang.IllegalStateException: 流已经被操作或关闭
原创
public List<Employee>getEmployeesListStartWithA(){
List<Employee>list = new ArrayList<>();
list.add(new Employee(1, "ram", "ram@gmail.com"));
list.add(new Employee(2, "santhosh", "santhosh@gmail.com"));
list.add(new Employee(3, "rita", "rita@gmail.com"));
list.add(new Employee(4, "ramesh", "ramesh@gmail.com"));
Stream<Employee>filterList = list.stream().filter(item->{
return item.getName().startsWith("r");
});
if(filterList==null || filterList.collect(Collectors.toList()).size()==0){
throw new NullPointerException();
}
return filterList.collect(Collectors.toList());
}
测试:
@Test
public void getEmployeesListStartWithATest(){
List<Employee>list = new ArrayList<>();
list.add(new Employee(1, "ram", "ram@gmail.com"));
list.add(new Employee(3, "rita", "rita@gmail.com"));
list.add(new Employee(4, "ramesh", "ramesh@gmail.com"));
doReturn(null).when(configurationClass).getEmployeesListStartWithA();
doThrow(new NullPointerException()).when(configurationClass).getEmployeesListStartWithA();
}
【问题讨论】: