任务是检查响应正文的每个项目是否都有数组中存在的 id。让我给你看一个例子:
let json = [
{ "name": "Ford", "id": "6" },
{ "name": "BMW", "id": "7" },
{ "name": "Abcd", "id": "8" },
{ "name": "Def", "id": "9" },
{ "name": "Ford", "id": "12" },
{ "name": "GHI", "id": "10" }
]
let ids = ["6", "7", "8", "9"]
我想检查 json 中的每个项目是否都有 id 存在于 ids 中。我尝试使用像这样的循环
for (var i = 0; i < json.length; i++) {
console.log(ids.includes(json[i].id))
}
但我想一定有更合适的方法。您将如何为此任务编写测试?
最佳答案
使用 forEach 代替 for:
pm.test("Every item has id an from ids[]", () => {
response.forEach(element => pm.expect(element.id).to.be.oneOf(ids));
});
或者检查是否每个元素都有一个 id 以使其更加“通用”
pm.test("Every item has an id", () => {
response.forEach(element => pm.expect(element).to.has.deep.property('id'));
});
关于javascript - Postman 测试检查响应正文的每个项目是否都有数组中存在的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64514076/