我有一个集成测试。传递给控制器的参数包含多个对象(电话号码)的列表。每个电话号码都有一个类型/号码。当我运行代码时,我可以在 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)