0
Grails 2.0- 當單元測試使用命名查詢的控制器時,我得到「BaseDomain上找不到的屬性(subdomain1property)」錯誤。應用程序運行良好並返回正確的結果,但單元測試失敗。在域類層次結構中使用namedQuery的Grails 2.0單元測試問題
class BaseDomain {
static namedQueries = {
listDuplicates {instance ->
if(instance instanceof SubDomain1) {
eq('subdomain1property', instance.subdomain1property)
}
}
}
}
class SubDomain1 extends BaseDomain {
String subdomain1property
}
的控制器單元測試有
@Mock([BaseDomain, SubDomain1])
該控制器具有此行
BaseDomain.listDuplicates(instance)
您正在嘗試使用超類中的子類屬性。 BaseDomain沒有訪問權限。爲什麼你沒有在SubDomain1中創建這個namedQuery? –
我有從BaseDomain擴展的SubDomain1,SubDomain2,SubDomain3子類。我不想爲每個子類重複此查詢。爲了簡潔起見,此查詢中沒有列出問題中列出的所有子類的其他屬性。順便說一下,應用程序運行正常,並返回SubDomain1,SubDomain2,SubDomain3的正確結果。單元測試失敗。我在想一定有一些嘲弄可以解決我的單元測試問題 – RRK