如何验证数组响应包括空手道中另一个数组的值
how to validate array response includes values from another array in Karate
我有一个数组
[{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"}]
我想验证另一个数组
[{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"},{"Id": "1236"},{"Id": "1237"},{"Id": "1238"},{"Id": "1239"}]
写了这段代码:
* def a= [{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"}]
* def b= [{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"},{"Id": "1236"},{"Id": "1237"},{"Id": "1238"},{"Id": "1239"}]
* match b[*].Id contains a[*].Id
我收到以下错误
javascript evaluation failed: b[*].Id, <eval>:1:12 Expected an operand but found *
a[*].Id
^ in <eval> at line number 1 at column number 12*
有什么解决办法吗?
JsonPath 仅在 match
的左侧受支持。阅读文档:https://github.com/intuit/karate#jsonpath-short-cuts
请加一步:
* def expected = $a[*].Id
* match b[*].Id contains expected
我有一个数组
[{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"}]
我想验证另一个数组
[{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"},{"Id": "1236"},{"Id": "1237"},{"Id": "1238"},{"Id": "1239"}]
写了这段代码:
* def a= [{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"}]
* def b= [{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"},{"Id": "1236"},{"Id": "1237"},{"Id": "1238"},{"Id": "1239"}]
* match b[*].Id contains a[*].Id
我收到以下错误
javascript evaluation failed: b[*].Id, <eval>:1:12 Expected an operand but found *
a[*].Id
^ in <eval> at line number 1 at column number 12*
有什么解决办法吗?
JsonPath 仅在 match
的左侧受支持。阅读文档:https://github.com/intuit/karate#jsonpath-short-cuts
请加一步:
* def expected = $a[*].Id
* match b[*].Id contains expected