gpt4 book ai didi

grails - groovy/grails/单元测试/createCriteria.get

转载 作者:行者123 更新时间:2023-12-04 02:59:58 25 4
gpt4 key购买 nike

我可以模拟调用:

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{} 的方法的单元测试覆盖率.

非常感谢建议,

亚历克斯

最佳答案

我找到了一个不会影响我编写单元测试能力的解决方案 -

def myCriteria = new Expando();
myCriteria .get = {Closure cls -> returnThisObject}
MyDomainClass.metaClass.static.createCriteria = {myCriteria }

这正是我想要的,并可能支持测试提供的参数。感谢其他回复。希望这对其他人测试 domain/createCriteria() 方法有用。

关于grails - groovy/grails/单元测试/createCriteria.get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com