2013-03-20 102 views
2

我正在使用grails版本1.3.7。在我的控制器應用程序,我正在使用的messages.properties和獲取財產的價值如何在爲grails控制器編寫單元測試時模擬g.message

g.message(code:messageKey, args:msgParamsArr) 

但是,當我開始在控制器的動作編寫單元測試,它給了我的錯誤。

請你幫我解釋一下如何正確模擬g.message,以便現有的代碼只能從messages.properties中獲取消息屬性。

+3

你得到什麼錯誤?請提供更多信息。 – 2013-03-20 12:33:39

回答

2

你可以嘲笑它:

controller.metaClass.message = { message -> 
    message.code 
} 

可以包括message.args太多,如果你只想驗證論點.contains()

+0

就在這裏說一下,在grails 2.4.3中,它看起來不像metaClass下的消息對象。這個解決方案在2.4.3中似乎不起作用。 – 2015-08-11 13:04:06

-1

這就像一個冠軍在Grails的2.4.5:

controller.metaClass.message = { Map attrs -> attrs.toString() } 
相關問題