使用空手道

时间:2018-11-30 09:10:05

标签: karate

我的有效载荷看起来像这样:

{
  "override_source": "DS",
  "property_code": "0078099",
  "stay_date": "2018-11-26T00:00:00.000000",
  "sku_prices": [
  ],
  "persistent_override": false
}

有一个数组dblist ["2","3"],它将由1到4的数字组成。基于列表中存在的元素,我想将键值{"sku_price":"1500","sku_code":"2"}添加到有效负载中。我正在使用以下代码:

* eval if(contains("3",dblist)) karate.set('pushRatesFromDS.sku_prices[]','{ "sku_price": "1500","sku_code":"3" }')

当我执行功能文件时,没有出现任何错误,但是键值未添加到我的有效载荷中。但是,如果我将此代码移到一个新的功能文件中并对其进行调用,则会将键值对添加到我的有效负载中。我的新功能文件中的代码如下:* set pushRatesFromDS.sku_prices[] = { "sku_price": "1500","sku_code":"2" }

1 个答案:

答案 0 :(得分:1)

尝试一下:

* def foo =
"""
{
  "override_source": "DS",
  "property_code": "0078099",
  "stay_date": "2018-11-26T00:00:00.000000",
  "sku_prices": [
  ],
  "persistent_override": false
}
"""
* eval karate.set('foo', '$.sku_prices[]', { foo: 'bar' })
相关问题