获取错误未捕获AssertionError:期望{}拥有属性'data'

时间:2017-11-16 12:26:05

标签: node.js mocha chai

我使用chai.should();编写节点js测试用例。我正在调用REST API并获得响应

{
  "statuscode": 200,
  "message": "success",
  "data": {
    "getEducationDetails": [
      {
        "end_date": "1996-04-31",
        "degree_name": "BE",
        "degree_date": "1993-06-18",
        "location": "Hyderabad",
        "university_name": "Hyderabad",
        "institute_name": "VIT",
        "start_date": "1992-01-01"
      }
    ]
  }
}

我想测试响应中的状态代码是否为200,以及位置等属性。

我试过了

res.body.should.have.property('data')
                    .which.is.an('object')
                    .and.has.property('getEducationDetails')
                    .which.is.an('array')
                    .and.has.property('location')
    .and.has.property('location')

和stauscode

res.body.should.have.property('stauscode').eql(200)

我该如何测试这些属性?

提前感谢

1 个答案:

答案 0 :(得分:0)

  

https://www.npmjs.com/package/chai-things

它将检查数组中的所有对象是否应包含end_date。您可以为所有属性

res.body.data.getEducationDetails.should.all.have.property('end_date')