gpt4 book ai didi

javascript - postman BDD 测试对象 REST API 数组

转载 作者:行者123 更新时间:2023-11-30 14:39:07 25 4
gpt4 key购买 nike

我正在使用 Postman BDD/Chai 编写测试,在测试数组响应时遇到了问题。

所以我的 API 返回了一些类似的东西

[
{
"id": 1,
"firstName": "x",
"lastName": "y",
"dateOfBirth": "2018-04-21",
"username": "user"
},
{
"id": 2,
"firstName": "x",
"lastName": "y",
"dateOfBirth": "2018-04-21",
"username": "admin"
}
]

如何检查响应是否包含某些成员?

expect(response).to.have.property('id');

似乎不起作用,因为响应是一个数组。更改对 response[0] 的响应似乎也没有任何改变。

建议?

最佳答案

您可以将类似的内容添加到 Tests 选项卡中,而无需使用 Postman BDD 库。我在这里使用了 Lodash,但您可以使用 for 循环 对原生 JS 做同样的事情:

pm.test('Response has the ID property', () => {
_.each(pm.response.json(), (arrItem) => {
console.log(arrItem)
pm.expect(arrItem).to.have.property('id')
})
})

enter image description here

您可以扩展它以检查整个对象的特定元素 - 在测试中添加另一行,例如 pm.expect(arrItem).to.have.property('firstName')

如果您使用的是 PostmanBDD库,你可以添加一个 for 循环来检查 id 属性:

eval(globals.postmanBDD)

describe('Get id data', () => {
it('should check the id property is present', () => {
for(i=0; i < response.body.length; i++) {
console.log(response.body[i])
response.body[i].should.have.property('id')
}
})
})

Postman

关于javascript - postman BDD 测试对象 REST API 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49959900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com