好的,我们假设我们有以下简单类:
public class Employees{
List<Person> personsList;
private int numberOfEmployees;
public void Employees(){
//constructor
}
//getters & setters
public List<Person> getPersons(){
return personsList;
}
public void addNewEmployee(Person person){
this.personsList.add(person);
}
}
我想测试返回Person对象列表的getter(使用mockito)
我正在做类似的事情:
@Test
public void getPersonsTest() throws Exception{
Employees.addNewEmployee(employee); //where employee is a mocked object
assertEquals(Employees.getPersons(),WHAT SHOULD I PUT HERE??);
}
有什么想法吗?
答案 0 :(得分:1)
如果您想测试一个人是否可以添加到您的列表中,您可以执行类似的操作。由于所有类都是“价值类”,因此使用Mockito毫无意义。
@Test
public void singleEmployeeAddedToList() throws Exception{
Employees toTest = new Employees();
Person testSubject = new Person("John", "Smith");
toTest.addNewEmployee(testSubject);
assertEquals(Collections.singletonList(testSubject), toTest.getPersons());
}
请注意,在JUnit断言中,首先是预期结果,然后是您尝试检查的结果。如果你错误地回答,那么当断言失败时,错误消息就毫无意义。
请注意,这实际上更像是addNewEmployee
而非getPersons
的测试。