【发布时间】:2012-05-04 16:05:22
【问题描述】:
我正在为服务类编写单元测试。该服务类调用MyDomain.findAllByIdNotInList。我面临的问题是 grails 无法将 NotInList 识别为模拟域的动态查找器。我尝试了 Metaclass-ing 这个功能,但遇到了问题。
有什么创造性的方法可以绕过将单元测试转变为集成测试的这种短板?我想避免这种情况有多种原因(运行时间,只有我们的单元测试在构建时运行等)
另外,我的元分类可能写得不好:
MyDomain.metaClass.findAllByIdNotInList = {ArrayList list ->
return []
}
编辑:使用 grails 1.3.7。
也试过了
MyDomain.metaClass.findAllByIdNotInList = {deflist ->
return []
}
在这里报告错误:
【问题讨论】:
-
你导入DomainClassUnitTestMixin了吗?如果你还没有grails.org/doc/latest/guide/testing.html#unitTestingDomains,请看看这个
-
Mixins 不适用,因为我使用的是 1.3.7。 jira.grails.org 链接中发布的错误特定于 1.3.7。
标签: unit-testing grails groovy