Как проверить элементы во вложенном массиве JSON в каратэ? - PullRequest
0 голосов
/ 12 января 2019

Я использую каркас каратэ для написания некоторых автоматических тестовых случаев. Я хотел бы проверить схему для каждого элемента в списке вложенных массивов. Для приведенного ниже примера я хотел бы проверить каждый дочерний элемент каждого элемента в возвращаемом массиве. Есть ли способ получить список массивов всех дочерних элементов всех элементов? Я могу сделать это, вызвав некоторые функции Java, но мне было интересно, есть ли способ получить это в каратэ.

Что-то вроде "для каждого элемента в возвращаемом массиве проверяется схема каждого из его дочерних элементов".

Спасибо!

[
    {
        "id": "A",
        "children": [
            {
                "size": "10",
                "type": "A",                   
                "name": "B"
            },
            {
                "size": "10",
                "type": "A",                   
                "name": "B"
            }                            
        ]
    },
    {
        "id": "B",
        "children": [
            {
                "size": "10",
                "type": "A",                   
                "name": "B"
            }, 
            }
                "size": "3",
                "type": "C",                   
                "name": "D"
            }               
        ]
    }
]

1 Ответ

0 голосов
/ 12 января 2019

match each будет более удобным для проверки массива JSON со схемой,

* def children = $response[*].children[*]
* def schema = { "name": "#string","size": "#string","type": "#string"}
* match each children == schema

Это извлечет все значения дочерних элементов и подтвердит соответствие каждого дочернего элемента схеме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...