【发布时间】:2013-04-12 19:43:22
【问题描述】:
我正在尝试使用 build-test-data plugin (v. 2.0.4) 在 Grails 2.1.4 应用程序的单元测试中构建测试数据。
该应用具有以下域类
class Brochure {
static constraints = {}
static hasMany = [pageTags: PageTag]
}
class PageTag {
static constraints = {
}
static belongsTo = [brochure: Brochure]
}
然后在我的单元测试中,我尝试构建一个 PageTag 的实例
@Build([Brochure, PageTag])
class BrochureTests {
void testSomething() {
PageTag pageTag = PageTag.build()
}
}
但它失败并出现错误
groovy.lang.MissingMethodException:没有方法签名: btd.bug.Brochure.addToPageTags() 适用于参数类型: (btd.bug.PageTag) 值:[btd.bug.PageTag : (unsaved)] 可能 解决方案:getPageTags()
我的示例看起来与plugin's docs 中显示的完全相同,所以我不知道为什么这不起作用。 here 提供了一个演示该问题的示例应用程序。
【问题讨论】:
-
仅供参考。 Grails 2.2.0 中的测试通过。深入研究 Grails 版本的 JIRA 变更日志可能会对这个问题有所了解。
-
@dmahapatro 很高兴知道,不幸的是我还不能升级到 Grails 2.2,因为没有支持 Groovy 2.X 的 gmock 版本
标签: unit-testing grails groovy grails-plugin