【发布时间】:2011-04-12 20:22:33
【问题描述】:
我可以模拟调用:
MyDomainClass.createCriteria().list{
eq('id',id)
eq('anotherParameter',anotherParameterId)
}
与:
def myCriteria = [
list : {Closure cls -> returnThisObject}
]
MyDomainClass.metaClass.static.createCriteria = { myCriteria }
建议:
http://davistechyinfo.blogspot.com/2010/01/mocking-hibernate-criteria-in-grails.html
但对于:
MyDomainClass.createCriteria().get{
eq('id',id)
eq('anotherParameter',anotherParameterId)
}
这种方法失败了——可能是因为 'get' 是一个关键字,而 'list' 不是。任何人都可以建议 - 能够在域类中模拟它应该是可能的,而不是简单地放弃使用 createCriteria().get{} 的方法的单元测试覆盖率。
非常感谢您的建议,
亚历克斯
【问题讨论】:
标签: grails groovy mocking hibernate-criteria