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

时间:2014-06-05 10:29:53

标签: grails groovy mocking

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

List result = Domain.namedQuery(someParams).list()

所以,我喜欢在我的服务单元测试中模拟结果。有没有选择呢?

1 个答案:

答案 0 :(得分:0)

我相信你可以通过改变元类来实现。请务必同时@Mock上课,这样你就不会受到测试污染:

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

还要确保您准确匹配参数的类型和数量,否则它可能无效。