2012-02-23 51 views
0

我正在使用grails控制台来测试我的代码,因为我发现从STS有效地运行基本的单元测试是非常没有效率的。grails控制台在打开后无法执行脚本作为.groovy

无论如何,当我将代码剪切并粘贴到控制台时,它运行良好。然而,当我的代码片段保存为一个脚本.groovy作为再后来重新打开它,并尝试运行它,它无法与通用:

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

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

任何想法,为什么这可能会发生?

回答

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) 

重命名脚本无法与域对象冲突解决问题。