我正在使用grails版本1.3.7。在我的控制器应用程序,我正在使用的messages.properties
和获取财产的价值如何在为grails控制器编写单元测试时模拟g.message
g.message(code:messageKey, args:msgParamsArr)
但是,当我开始在控制器的动作编写单元测试,它给了我的错误。
请你帮我解释一下如何正确模拟g.message
,以便现有的代码只能从messages.properties
中获取消息属性。
我正在使用grails版本1.3.7。在我的控制器应用程序,我正在使用的messages.properties
和获取财产的价值如何在为grails控制器编写单元测试时模拟g.message
g.message(code:messageKey, args:msgParamsArr)
但是,当我开始在控制器的动作编写单元测试,它给了我的错误。
请你帮我解释一下如何正确模拟g.message
,以便现有的代码只能从messages.properties
中获取消息属性。
你可以嘲笑它:
controller.metaClass.message = { message ->
message.code
}
可以包括message.args
太多,如果你只想验证论点.contains()
。
就在这里说一下,在grails 2.4.3中,它看起来不像metaClass下的消息对象。这个解决方案在2.4.3中似乎不起作用。 – 2015-08-11 13:04:06
这就像一个冠军在Grails的2.4.5:
controller.metaClass.message = { Map attrs -> attrs.toString() }
你得到什么错误?请提供更多信息。 – 2013-03-20 12:33:39