通常,有时我们需要测试一些需要从DAO层返回大量数据的业务方法,并使用Mockito模拟DAO层。所以我们需要从DAO方法准备返回数据。通常它需要建立吨豆。 没有DB(即使在内存中),有没有什么好方法可以轻松地构建数据? 例如:
when(personDAO.findAll()).then(new Answer<List<Person>>() {
@Override
public List<Person> answer(InvocationOnMock invocation) throws Throwable {
return JSONUtil.parse(file, Person.class);
// ... or ...
Person person1 = new Person(1, "troy");
Person person2 = new Person(2, "linda");
// ... more than 3 person
return Arrays.asList(person1, person2, person....);
}
});
PS:因为我可以想到一种构建JSON文件的方法,将bean列表序列化为文件,在我们模拟方法返回之前,我们将反序列化为bean列表。