如何在grails控制器测试中设置params map

时间:2013-09-27 16:03:21

标签: grails

我有一个集成测试。过去控制器的参数包含多个对象的列表(电话号码)。每个电话号码都有一个类型/号码。当我运行代码时,我可以捕获gsp在params对象中发送到控制器的内容,如下所示:

enter image description here

如何在集成测试中编写参数图?到目前为止我尝试过的所有东西都没有用(下图)。我试图在我调用动作之前重现gsp表单在controller.params中发送的内容。

        def bindingMap = [alt1: 'Previous',
                'phones[0]': [type: 'H', number: '55555', deleted: 'false', id: '']]

        //controller.params
//        controller.params = map//[alt1 : 'Previous'
//                phones[0].type, 'H'
//                phones[0].number, '55555',
//                phones[0].deleted, 'false',
//                phones[0].id, ''
        //]
/*
        controller.params.phones[0]["type"] = 'H'
        controller.params.phones[0]["number"] = '12345'
        controller.params.phones[0]["deleted"] = 'false'

编辑:

想出来:

    def bindingMap = [alt1: 'Previous',
            'phones[0].type': 'H',
            'phones[0].number': '55555',
            'phones[0].deleted': 'false',
            'phones[0].id': ''
    ]
    controller.params.putAll(bindingMap)

1 个答案:

答案 0 :(得分:0)

你试过吗?

controller.params.phones = [
    [type: 'H', number: '55555', deleted: 'false', id: ''],
    [type: 'A', number: '66666', deleted: 'false', id: '']
]