如何在为grails控制器编写单元测试时模拟g.message

时间:2013-03-20 11:28:48

标签: unit-testing grails

我使用的是grails版本1.3.7。在我在控制器中的应用程序中,我正在使用messages.properties并将属性的值作为

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

但是当我开始在控制器中为动作编写单元测试时,它给了我错误。

请您帮助我了解如何完全模拟g.message,以便现有代码仅从messages.properties获取消息属性。

2 个答案:

答案 0 :(得分:2)

您可以使用以下方式进行模拟:

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

如果您只想使用message.args验证参数,也可以添加.contains()

答案 1 :(得分:-1)

这就像Grails 2.4.5中的冠军一样:

controller.metaClass.message = { Map attrs -> attrs.toString() }