1

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

在此处输入图像描述

如何在集成测试中对该参数映射进行编码?到目前为止我尝试过的一切都没有奏效(下)。在调用操作之前,我试图重现 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)
4

1 回答 1

0

你有没有尝试过?

controller.params.phones = [
    [type: 'H', number: '55555', deleted: 'false', id: ''],
    [type: 'A', number: '66666', deleted: 'false', id: '']
]
于 2013-09-27T16:15:28.057 回答