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

标签 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])

 }
}

在此先感谢您的帮助,

文森特

最佳答案

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

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

关于grails - 集成测试中不存在findAll(String,Map,Map)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6763864/

相关文章:

grails事务 Controller ,处理异常

grails - 如何使用Grails 2.4.3在Spring Security Rest中实现切换用户

grails - 创建Grails插件时删除文件

c# - 覆盖 Autofac 注册 - 使用 DI 进行集成测试

java - 如何在使用 JAVA 和 Cucumber 进行测试的每个步骤后捕获屏幕截图?

hibernate - 使用GORM和Grails无法保持多对多关系

java - 从 grails 的排序集中删除所有项目

.net - .NET项目中单元测试和验收测试的实现

spring - 在Grails G-Func功能测试中引导 hibernate

hibernate - Grails/GORM “in”条件