2012-02-23 57 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) 

重命名腳本無法與域對象衝突解決問題。