1

我想编写一个测试来验证嵌套在“孩子”中的对象数量是否等于我的预期。假设在这种情况下它是 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);
});

这只会引发错误。将不胜感激任何想法如何解决这个问题。在邮递员中进行测试非常新,并且渴望学习。谢谢!

4

2 回答 2

0

这可能会与您的解决方案做同样的事情:

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

pm.test("Only 2 objects in Children", function () {
    pm.expect(children.length).to.eql(2);
});
于 2020-03-26T21:05:11.943 回答
0

我想到了。但肯定对其他方式感兴趣。这就是我所做的。

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);
    });
于 2020-03-26T17:06:52.950 回答