我正在使用GORM方法findAll(“query”,[params],[pagination]),根据文档:http://grails.org/doc/latest/ref/Domain%20Classes/findAll.html
它在运行时工作正常,但在集成测试期间不可用。 似乎只有 findAll('query',[params])和 findAll('query')方法可用。
更多细节:
查询:
MyDomain.findAll("From MyDomain as domain Where domain.something = :something", [something:aThing], [max:10])
测试设置:
我通过集成测试执行此方法(在测试/集成下,我的测试类扩展 GroovyTestCase )
环境: 我使用的是grails 1.3.7,mac osx
堆栈跟踪:
我收到以下错误: 没有方法签名:a.b.c.d.e.MyDomain.findAll()适用于参数类型:(java.lang.String,java.util.LinkedHashMap,java.util.LinkedHashMap) 可能的解决方案:findAll(),findAll(java.lang.Object),findAll(java.lang.Object,java.util.Map),findAll(groovy.lang.Closure)。
重现它:
class MyTestClass extends GroovyTestCase{
void testFindAllFailsWithThreeParameters(){
Domain.findAll('From Domain as domain where domain.property = :value', [value:value],[max:10])
}
}
先谢谢你的帮助,
文森特
答案 0 :(得分:0)
您是否使用与测试环境相同的数据源与运行时间?
如果不是,您使用的方法可能不受该数据源的支持,例如再次测试内存数据库与MySQL进行生产。