2014-02-12 40 views
0

我们有一个测试方法,它调用一个方法,该方法又返回一个集合(List)。 除了断言列表不是空的,我们需要从列表中取出每个对象,并确保列表的特定属性不为空。断言只有对象的某些特定属性不为空

我们已经在做了一个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

+0

你应该assertNotnull代替。如果你想要一些语法糖,你可以用google-guava代替。 –

+0

这甚至不应该编译。 Java不会像Javascript那样进行类型强制转换。 –

回答

0

使用方法assertNotNull,以确保对象不为空。但你仍然需要遍历你的列表。

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()); 
    } 
} 
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,为什么它有可能将它们设置为空?

相关问题