findAll(String,Map,Map)方法在集成测试中不存在

时间:2011-07-20 14:52:01

标签: grails integration-testing gorm findall

我正在使用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])

 }
}

先谢谢你的帮助,

文森特

1 个答案:

答案 0 :(得分:0)

您是否使用与测试环境相同的数据源与运行时间?

如果不是,您使用的方法可能不受该数据源的支持,例如再次测试内存数据库与MySQL进行生产。