grails - 如何在 grails 中模拟命名查询?

标签 grails groovy mocking

我在 grails 2.1.0 中遇到了以下问题。我有一个已命名查询的域。在服务中,我对该命名查询的结果调用 list() 方法:

列表结果 = Domain.namedQuery(someParams).list()

所以,我希望在我的服务的单元测试中获得模拟结果。有什么选择可以做到这一点吗?

最佳答案

我相信你可以通过改变元类来实现。请务必对类进行 @Mock 操作,这样就不会受到测试污染:

Domain.static.metaclass.namedQuery = { someParams ->
    // Assert and return data
}

还要确保参数的类型和数量完全匹配,否则可能无法工作。

关于grails - 如何在 grails 中模拟命名查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057787/

相关文章:

grails - 如何强制 Grails 只使用一种语言?

grails - 在grails/groovy中访问子项目应用程序属性

grails - 如何声明闭包用作函数参数

python - 如何在 Flask 中模拟 HTTP 身份验证进行测试?

Grails spock 数据库锁定

plugins - 从stark-security升级到Spring Security插件

jenkins - Jenkins工作流程结帐访问BRANCH_NAME和GIT_COMMIT

java - 文件上传完整性检查

c# - 如何创建一个文件来填充 HttpContext.Current.Request.Files?

ruby - 包括 FactoryGirl 工厂