Ошибка при сопоставлении вложенного массива json в карате - PullRequest
1 голос
/ 26 мая 2020

Кто-нибудь может мне помочь с ошибкой ниже? Я не уверен, что мне не хватает. Я полагаю, что мне не хватает чего-то очень простого.

утверждение не удалось: путь: $ [0] .drives [*], актуально: [{"partitionData": [{"label": "Recovery" }, {"label": ""}, {"label": "Новый том"}, {"label": ""}]}], ожидается: {partitionData = [{"label": "# present"} ]}, причина: фактическое значение не содержит ожидаемого

Ниже мой код схемы:

 * set schema
 | path      | 0           |  
 | drives    | [{"partitionData": [{"label":"#present"}] }] |

Ниже вывод:

            [
            {
            "drives": [
              {
                "partitionData": [
                  {
                    "label": "Recovery"
                  },
                  {
                    "label": ""
                  },
                  {
                    "label": "New Volume"
                  },
                  {
                    "label": ""
                  }
                ]
              }
            ]
            }
            ]

И сопоставить каждый вывод содержит схему [0]

1 Ответ

0 голосов
/ 27 мая 2020

Поскольку ваш вопрос сбивает с толку, вот простой пример. Не используйте set, если он не нужен.

* def schema = { "partitionData": [ { "label" : "#present" } ] }
* def response = { drives: [ { "partitionData": [ { "label" : "foo" } ] } ] }
* match each response.drives == schema
...