我正在編寫服務類的單元測試過程。這個服務級別呼叫MyDomain.findAllByIdNotInList
。我面臨的問題是,Grails不會將NotInList識別爲模擬域的動態查找器。我嘗試了Metaclass這個功能,但遇到了問題。Grails單元測試Buggy動態查找器
任何創造性的方法可以繞過將單元測試轉換爲集成測試的這種短缺嗎?我想避免這種出於多種原因(時間運行,只有我們的單元測試在構建時運行等)
而且,有可能我metaclassing是寫得不好:
MyDomain.metaClass.findAllByIdNotInList = {ArrayList list ->
return []
}
編輯:使用grails 1.3.7。
也試過
MyDomain.metaClass.findAllByIdNotInList = {deflist ->
return []
}
錯誤報告在這裏:
http://jira.grails.org/browse/GRAILS-8593
您是否導入了DomainClassUnitTestMixin?如果你還沒有http://grails.org/doc/latest/guide/testing.html#unitTestingDomains –
請看看這個,因爲我使用的是1.3.7,Mixins不適用。發佈在jira.grails.org鏈接上的bug特定於1.3.7。 – Joseph