Karate匹配两个json文件(预期为json和API响应),而不考虑数组元素的顺序



预期响应:

{"data":{
{"assignments":[{"locationId":"1186755","locationName":"X.11.11"},{"locationId":"1186756","locationName":"X.11.12"}]}}}

响应:

{"data":{
{"assignments":[{"locationId":"1186756","locationName":"X.11.12"},{"locationId":"1186755","locationName":"X.11.11"}]}}}

我看到一个SO帖子说要使用karate.sort(response,x=>x.locationId(,当我尝试时,它给了我空的响应。有没有什么简单的方法可以实现对整个响应文件的比较,而不考虑顺序?

注意:我甚至只尝试了contains,但它的断言失败了。

只需使用contains deep:https://stackoverflow.com/a/64373344/143475

* def response = {"assignments":[{"locationId":"1186755","locationName":"X.11.11"},{"locationId":"1186756","locationName":"X.11.12"}]}}}
* match response contains deep {"assignments":[{"locationId":"1186756","locationName":"X.11.12"},{"locationId":"1186755","locationName":"X.11.11"}]}}}

最新更新