断言只有对象的某些特定属性不为null

时间:2014-02-12 12:10:15

标签: java junit

我们有一个测试方法,它调用一个方法,然后返回一个集合(List)。 不仅断言List不为空,我们需要从List中获取每个Object,并确保List的特定属性不为null。

我们已经在这样的for循环中执行它了:

testMethod() {

    List<Person> list = dao.getPersons();

    for(Person person: list) {
        assertTrue("Firstname cant be null",person.getFirstName());
        assertTrue("Address line 1 cant be null",person.getAddress1());
    }

    //Requesting advise on the best approach that would suit this.

}

由于 VENU

2 个答案:

答案 0 :(得分:0)

使用方法assertNotNull确保对象不为null。但是你仍然需要在列表中循环。

testMethod() {
    List<Person> list = dao.getPersons();
    for(Person person: list) {
        assertNotNull("Firstname cant be null", person.getFirstName());
        assertNotNull("Address line 1 cant be null", person.getAddress1());
    }
}

答案 1 :(得分:0)

   testMethod() {
        List<Person> list = dao.getPersons();

        for(Person person: list) {
            assertNotNull("Firstname cant be null",person.getFirstName());
            assertNotNull("Address line 1 cant be null",person.getAddress1());
        } 
    }

如果不允许特定属性为null,那么您可能应该以空安全的方式重构代码,因此无法插入null值。我的意思是如果他们不被允许为空,为什么将它们设置为null是可能的呢?