如何测试返回自定义对象列表的 getter



好的,假设我们有以下简单的类:

 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??);

}

有什么想法吗?

如果你想测试一个人是否可以添加到你的列表中,你可以做这样的事情。 由于所有类都是"值类",因此使用 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的测试。

相关内容

  • 没有找到相关文章

最新更新