【发布时间】:2014-06-05 10:29:52
【问题描述】:
我在 grails 2.1.0 中遇到了问题。我有一个名为查询的域。在服务中,我在这个命名查询的结果上调用 list() 方法:
List result = Domain.namedQuery(someParams).list()
所以,我想在我的服务的单元测试中模拟结果。有什么办法吗?
【问题讨论】:
我在 grails 2.1.0 中遇到了问题。我有一个名为查询的域。在服务中,我在这个命名查询的结果上调用 list() 方法:
List result = Domain.namedQuery(someParams).list()
所以,我想在我的服务的单元测试中模拟结果。有什么办法吗?
【问题讨论】:
我相信你可以通过改变元类。一定要@Mock上课,这样你就不会受到测试污染:
Domain.static.metaclass.namedQuery = { someParams ->
// Assert and return data
}
还要确保您完全匹配参数的类型和数量,否则可能无法正常工作。
【讨论】:
List,然后在其上调用list(),它返回空列表。