【发布时间】:2012-07-28 07:28:10
【问题描述】:
在我的控制器中,我有一个操作,它使用标准来命中 db 并获取结果。
def c = DomainObj.createCriteria()
def result =[]
result = c.list(params) {
'eq'("employerid", id)
}
我试图在我的单元测试中模拟这个标准。
def mycriteria =[
list: {Closure cls -> new DomainObj(id:1)}
] ]
DomainObj.metaClass.static.createCriteria = {mycriteria}
以上行不通。执行 c.list(params) 时会抛出异常。例外是“groovy.lang.MissingMethodException:没有方法签名:testSearch_closure3.docall() 适用于争论类型:
PS- 但是,如果我从控制器中的 c.list() 中删除参数,即见下文:
def c = DomainObj.createCriteria()
def result =[]
result = c.list() {
}
然后,它正在工作。不确定这里的问题是什么。任何帮助表示赞赏
【问题讨论】:
标签: java hibernate grails junit criteria