Почтальон - Тест на совпадение количества объектов во вложенном объекте - PullRequest
1 голос
/ 26 марта 2020

Я хочу написать тест, чтобы проверить, что количество объектов, вложенных в «children», равно ожидаемому. Допустим, в данном случае это 2.

Это тело ответа, с которым я проверяю:

{
    "result": {
        "line_item": {
            "name": null,
            "description": "abc",
            "quantity": 1.0,
            "children": [
                {
                    "sku": "xxx",
                    "quantity": 1.0,
                    "description": "abc"
                },
                {
                    "sku": "yyy",
                    "quantity": 3.0,
                    "description": "def"
                }
        ]
    }       
  }
} 

Я пробовал несколько вещей, одна из которых такова:

let josnData = pm.response.json();

var children = jsonData.result.line_item.chilren;

var length_children = children.length;

pm.test("Only 2 objects in Children", function (){
    pm.expect(length_children).to.eql(2);
});

Это просто выдает ошибку. Буду признателен за любые идеи, как справиться с этим. Очень плохо знаком с тестированием в почтальоне и готов учиться Спасибо!

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Это, вероятно, сделало бы то же самое, что и ваше решение:

let children = pm.response.json().result.line_item.children;

pm.test("Only 2 objects in Children", function () {
    pm.expect(children.length).to.eql(2);
});
0 голосов
/ 26 марта 2020

Я понял это. Но определенно интересуются другими способами. Вот что я сделал.

var body = JSON.parse(responseBody);
var list = body.result.line_item.children.length;

pm.test("Only 2 objects in children", function(){
    pm.expect(list).to.eql(2);
    });
...