2014-02-12 31 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,爲什麼它有可能將它們設置爲空?