gpt4 book ai didi

unit-testing - 服务类的 Grails 单元测试中的参数数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 15:35:51 25 4
gpt4 key购买 nike

我有一个服务方法,它将参数作为输入并创建一个域类,传入参数以进行自动绑定(bind)。通过将参数指定为键值对的映射,对此进行测试很简单。但是,我不知道如何在 params 映射中模拟关联对象的数组。

我观察到客户端以以下格式发送参数:

["description":"abc",  "subTask[0].name": "first subtask name"]

我如何模拟这种类型的参数?由于这不是 Controller 测试,我不能使用 mockParams AFAIK。

最佳答案

答案原来是这样的:
由于 Controller 参数映射解析在服务类中不可用,因此您必须自己转换值和对象。因此,在我的示例中,我必须在 params 映射中手动创建一个关联对象数组。这是一个例子:

  def params = [ state: "Open", type: "Cable", 
needByDate: new Date("Fri May 11 00:00:00 PDT 2012"),
//"subTasks[0]":["name":"ABC"] //no workie
"subTasks": [new Task("name": "ABC")]
]
mockDomain(Task.class)
Task task= service.saveNewRequest(params)

希望这可以帮助某人。

关于unit-testing - 服务类的 Grails 单元测试中的参数数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10808773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com