grails控制台在打开为.groovy后无法执行脚本

时间:2012-02-23 23:29:59

标签: testing grails gorm

我正在使用grails控制台来测试我的代码,因为我发现从STS有效地运行基本的单元测试非常没用。

无论如何,当我将代码剪切并粘贴到控制台时,它运行正常。但是,当我将代码片段保存为.groovy脚本然后稍后重新打开并尝试运行它时,它会失败并带有泛型:

groovy.lang.MissingPropertyException: No such property: xxx for class: yyy

如果我复制代码并粘贴到新窗口中,脚本运行正常!

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

我发现这有什么问题,并希望在此更新,以防其他人使用。

我的一个域对象叫做:

HierarchyNode 

我将groovy脚本保存为HierarchyNode.grooy。

因此,当在控制台中执行以下代码时,它失败了:

def root = new HierarchyNode(['name': 'Root Node', 'company': comp, 'customer': cust, 'isRoot': true, 'nodeProperties': ['prop1': 'value1', 'prop2': 'value2']]) 

有这个例外:

groovy.lang.MissingPropertyException: No such property: name for class: HierarchyNode at HierarchyNode.run(HierarchyNode.groovy:6) 

将脚本重命名为不与域对象冲突解决了问题。