空手道:验证数组 json 响应值的最简单方法不应为空

Karate: simplest way to validate value of array json response should not be empty

response= [
{
"id": "123",
"name: "user1",
"location": "USA"
},
{
"id": "133",
"name: "user2",
"location": "CANADA"
},
{
"id": "",
"name": "user3",
"location": "INDIA"
}
]

我正在尝试使用架构验证上述 json 数组,并想验证我的键的值不应为空或空白。

我正在使用以下代码:

* def schema = {"id": "#notnull", "name": "#notnull", "location": "#notnull"}
* match each response contains schema

但即使我的回复有“id”:“”——在 json 数组的第 3 个索引中,id 是 empty/blank。我仍然在我的场景中获得通过。 这是正确的方法还是有任何其他方法来处理 json 数组响应的模式中的空值。

您的帮助将不胜感激。 谢谢

理想情况下我们应该 #notblank 但我们没有,因为它太罕见了。

改为这样做:

* match each response contains { id: "#? _ != ''" }