下面给出的语句在grails 1.3.7中运行良好,但在2.2.4中失败。
模拟不会被调用。
YourDomainClass.metaClass.static.findFooBar = { -> [a,b,c]}
给出这个异常(exception)
| groovy.lang.MissingMethodException: No signature of method:
YourDomainClass.withCriteria() is applicable for argument types: () values: []
有什么解决办法吗?
最佳答案
您是否已将单元测试切换到新的API?在grails 1.3中,您将为测试用例使用... UnitTestCase父类(super class),在grails 2.x中,单元测试机制已更改,现在您应该在测试用例类上使用@TestFor(YourDomainClass)
或@Mock(YourDomainClass)
,并且不继承
关于unit-testing - 如何在grails 2.2.4单元测试中用withCriteria模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915215/