验证POSTMAN断言中返回的json响应不超过一个

时间:2018-10-26 14:22:53

标签: node.js postman postman-collection-runner

我在POSTMAN中有返回的响应:

{
    "first_name": "Abc",
    "last_name": "dbc",
    "email": "abc@example.com",
    "id": 46
}

我如何验证返回的结果json长度不超过一,这就是我尝试过的方法:

const jsonData = pm.response.json();

pm.test('Has data and only returns 1 result', function() {
  pm.expect(jsonData).to.have.property('first_name');
  pm.expect(jsonData).to.have.property('last_name');
  pm.expect(jsonData).to.have.property('email');
  pm.expect(jsonData.length).to.equal(1);

});

但是,我遇到此错误:

Has data and only returns 1 result | AssertionError: expected undefined to equal 1

1 个答案:

答案 0 :(得分:0)

单个Json对象没有length属性,因此您不能那样做。一个建议是让您将Json对象推入数组,然后可以验证长度:

var json = pm.response.json();
var data = [];
data.push(json);

tests["Test length of array"] = data === 4;

我实际上没有测试这段代码,但是我认为它应该可以工作,或者您可以尝试一下。