在學習Grails的過程中,我有幾個域類。 「用戶」和「發佈」。這裏是每個重要的片段:關於訪問域對象的屬性困惑Grails
//Post
static belongsTo = [user : User]
//User
static hasMany = [ posts : Post ]
有了這些條款,刪除用戶時,帖子也應該是。
在我的集成測試中,我似乎錯誤地訪問這些帖子,我不知道爲什麼。下面是代碼:
//From my integration tests...Not mocked.
def user = new User(userId: 'HenryTheThird', password:'thepassword').save()
...
def foundUser = User.get(user.id)
def postNames = user.posts.collect{ it.content }
assertEquals 2, postNames.size()
foundUser.delete()
assertFalse User.exists(foundUser.id)
assertNull (foundUser.posts.collect{ it.content})
最後一行給我一個說法錯誤。我猜這是因爲當我聲明foundUser時,它帶來了所有的帖子。我似乎用我寫的另一個測試驗證了這一點。我的問題是,我怎麼能斷言數據庫中實際發現的用戶列表真的沒有任何文章呢?換句話說,我如何確認與該用戶關聯的帖子是否真的被刪除?