使用 cypress 进行 API 测试时,“预期 { Object (message, detail) } 出现 属性 'count' 错误
Getting 'expected { Object (message, detail) } to have property 'count' error in API testing using cypress
我想断言从响应中收到的总计数。
这是我的代码:
cy.request({
method:'GET',
url:'https://ibis-qa.droicelabs.us/api/practice/orders/?q=&limit=100',
failOnStatusCode: false,
headers:{
accept: "application/json"
}
}).then(Response => {
let body = JSON.parse(JSON.stringify(Response.body))
cy.log(body)
expect(body).has.property('count','27')
})
这是我遇到的错误
那你就可以直接这样使用断言了。您不需要解析或字符串化。
expect(Response.body).to.have.property('count',27)
您可以从 cypress docs 查看此示例。
请使用
expect(body).has.property('count', 27)
因为值为数字
(见屏幕截图,27
周围没有引号)
您没有得到您认为应该得到的 JSON 回应。
如果在浏览器中转到URL,我得到这个
{"message":"field required","detail":[{"loc":["header","authorization"],"msg":"field required","type":"value_error.missing"}]}
这是错误消息的屏幕截图中显示的部分内容。
这是来自服务器的错误响应,这意味着您的请求不正确。
我想断言从响应中收到的总计数。
这是我的代码:
cy.request({
method:'GET',
url:'https://ibis-qa.droicelabs.us/api/practice/orders/?q=&limit=100',
failOnStatusCode: false,
headers:{
accept: "application/json"
}
}).then(Response => {
let body = JSON.parse(JSON.stringify(Response.body))
cy.log(body)
expect(body).has.property('count','27')
})
这是我遇到的错误
那你就可以直接这样使用断言了。您不需要解析或字符串化。
expect(Response.body).to.have.property('count',27)
您可以从 cypress docs 查看此示例。
请使用
expect(body).has.property('count', 27)
因为值为数字
(见屏幕截图,27
周围没有引号)
您没有得到您认为应该得到的 JSON 回应。
如果在浏览器中转到URL,我得到这个
{"message":"field required","detail":[{"loc":["header","authorization"],"msg":"field required","type":"value_error.missing"}]}
这是错误消息的屏幕截图中显示的部分内容。
这是来自服务器的错误响应,这意味着您的请求不正确。