Karate jsonpath响应的断言问题

Karate jsonpath响应的断言问题,karate,gherkin,Karate,Gherkin,我正在用空手道的bdd方法编写api测试自动化代码。 这一部分让我很难接受。我的响应如下所示,当我调用路径$.data.subscribers[0].products时,当我通过网站检查时,这会给我一个空的空数组。然而,当我运行我的小黄瓜空手道功能时,它给我的响应为null,它仍然给我错误断言。它说: null,应为:null 我看不到任何错误,如何修复?这是一个bug还是有什么方法可以处理 我的答复是: { "meta": { "return_code": 0, "mess

我正在用空手道的bdd方法编写api测试自动化代码。
这一部分让我很难接受。我的响应如下所示,当我调用路径
$.data.subscribers[0].products时,当我通过网站检查时,这会给我一个空的空数组。然而,当我运行我的小黄瓜空手道功能时,它给我的响应为null,它仍然给我错误断言。它说:

null,应为:null

我看不到任何错误,如何修复?这是一个bug还是有什么方法可以处理

我的答复是:

{
  "meta": {
    "return_code": 0,
    "message": "success"
  },
  "data": {
    "sbs": [
      {
        "sbs_id": 32432432,
        "dt": "OTT",
        "pt": []
      },
      {
        "sbs_id": 455654445,
        "dt": "IPTV",
        "pt": []
      }
    ]
  }
}
我写的JsonPath:

$.data.sbs[0].pt[0]
空手道的断言:

com.intuit.karate.exception.KarateException: base-tvpp-cases.feature:316 
- path: $[0], actual: null, expected: null, reason: actual json-path does 
not exist
小黄瓜空手道-我在功能文件中编写的代码: 我在下面两个都试过了

And match response.data.subscribers[0].products[0] == null
And match response.data.subscribers[0].products[0] == '#null'

只需使用JsonPath通配符(
*
)。请注意,使用通配符时,结果将始终是JSON数组。以下是您的解决方案:

* match response.data..subscribers[0].products[0] == []