我正在爲我的grails應用程序編寫單元測試,並且我意識到我並不真正瞭解用於聲明對象是否是適當對象的正確方法。在單元測試中比較對象的正確方法
例如,假設本次測試:
void testExampleTest() {
mockSession.person = new Person(firstName:'John', lastName:'Doe', middleInitial:'E')
def model = controller.testMethod()
...assertions...
}
和
def testMethod = {
Person currPerson = session.getAttribute("person")
render(view:'view',model:[person:currPerson]
}
我應該如何確保我加入會話的人對象正在正確的模型通過呢?它是足夠使用
assertEquals(person,model['person'])
還是因爲我自己注入對象到會話並使其使用起來更感
assertEquals(person.firstName, model['person'].firstName)
assertEquals(person.lastName, model['person'].lastName)
assertequals(person.middleName, model['person'].middleName)
這在我看來,第一種方式應該只要足夠的對象有一個正確定義的equals方法,但我只想看看傳統方式是什麼。
謝謝
另請參閱我的回答:commons-beans庫使使用基於反射的訪問變得簡單,可以使用基於反射的訪問來構建多屬性斷言方法。 –