我正在使用grails控制台来测试我的代码,因为我发现从STS有效地运行基本的单元测试非常没用。
无论如何,当我将代码剪切并粘贴到控制台时,它运行正常。但是,当我将代码片段保存为.groovy脚本然后稍后重新打开并尝试运行它时,它会失败并带有泛型:
groovy.lang.MissingPropertyException: No such property: xxx for class: yyy
如果我复制代码并粘贴到新窗口中,脚本运行正常!
知道为什么会这样吗?
答案 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)
将脚本重命名为不与域对象冲突解决了问题。