如何验证chai中的响应键

时间:2016-12-09 10:00:07

标签: node.js mocha chai

我有一个回复正文

res.body.should.have.property("lastName");
res.body.should.have.property("state"); 

当我通过Mocha中的supertest进行API调用时,我必须验证响应主体的密钥是否具有firstName,lastName和state以及状态值是否为chai中的TAMILNADU。

怎么做,我试过

ng-messages

但是收到错误

  

未捕获的AssertionError:期望[Array(1)]具有属性'firstName'

1 个答案:

答案 0 :(得分:1)

你的身体包含一个数组,而不是一个对象,所以你需要像这样访问你的数组的第一个元素(未经测试)

res.body[0].should.have.property("lastName");
res.body[0].should.have.property("state");

由于您的数组可以包含多个元素,因此您应该遍历数组

res.body.forEach((item) => {
    item.should.have.property("lastName");
    item.should.have.property("state");
})