我需要 Spock 测试的帮助。
我试图存根Domain Object的动态查找器(findById
)。
我不能使用像:
ObjectDomain.metaClass.static.findById = { -> new ObjectDomain()}
因为我在测试的其他部分使用findsById
方法,如果我使用它,我会得到误报。
有人知道使用Spock存根动态查找器的最佳方法吗?
提前致谢。
答案 0 :(得分:7)
参数编号和类型必须在您的元类方法和实际方法之间匹配。您添加了一个no-arg findById()
方法,但是您正在使用id和Map调用重载方法。因此,您需要更改闭包参数以匹配:
ObjectDomain.metaClass.static.findById = { id, Map args -> new ObjectDomain()}