【问题标题】:How to setup params map in grails controller test如何在 grails 控制器测试中设置参数映射
【发布时间】:2013-09-28 02:45:03
【问题描述】:

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

【问题讨论】:

    标签: grails


    【解决方案1】:

    你试过了吗?

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

    【讨论】:

      猜你喜欢
      • 2019-12-28
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多