unit-testing - 如何在grails 2.2.4单元测试中用withCriteria模拟?

标签 unit-testing grails groovy gorm

下面给出的语句在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/

相关文章:

java - 在 Telegram 中将电话号码交换为用户 ID

grails - 在 Groovy 中检查集合是否为 null 或为空

java - intellij IDEA 如何给 Java 项目添加单元测试?

javascript - 使用 karma runner 的总测试执行时间

java - 无法测试libgdx项目

grails - 如何覆盖 Grails GORM 中关系的级联删除?

grails - 配置和注入(inject) Grails 服务

grails - grails列表在g:sortableColumn中即使没有指定最大/偏移也不返回全部

Jenkins RoleBasedAuthorizationStrategy 将用户添加到角色 Groovy 脚本

javascript - Mocha 测试套件在尝试连接到 API 时出错