我有一个类User,定义如下:
class User {
Integer id;
String name;
String addr;
//getters and setters
}
现在,当测试一个函数时,我需要返回一个stub的mock Users列表,类似于:
Mockito.when(userService.getListOfUsers()).thenReturn(mockList);
现在这个mockList可以按如下方式创建:
List mockList = Mockito.mock(ArrayList.class);
但是这个mockList可以是任何东西的列表。我不能确定它的类型。有没有办法创建一个列表:
List<User> mockListForUser = Mockito.mock(?);
您可能希望用模拟对象填充一个普通列表。例如
List<User> mockList = new ArrayList<>();
User mockUser1 = Mockito.mock(User.class);
// ...
mockList.add(mockUser1);
// etc.
注意,默认情况下,Mockito对于任何返回集合的模拟方法返回一个空集合。所以如果你只是想返回一个空列表,Mockito已经为你做了
在测试中使用@Mock
注释,因为mockit可以使用类型反射:
@Mock
private ArrayList<User> mockArrayList;