邮递员测试总是通过,即使它失败了
Postman test is always passing even though it fails
虽然运行邮递员测试,测试用例似乎总是通过
下面提供了响应正文。我正在尝试在名称为 "Erin" 时获取 id 并验证 id 为 800。我编写的一小段代码位于编写的响应正文下方 below.FOr 出于某种原因测试总是 returns真的。如果出于某种原因如果 Erin 和 800 不存在,它仍然通过测试。
[
{
"id":991,
"name":"Tomy"
},
{
"id":800,
"name":"Erin"
}
]
Code:
pm.test("Validate id to be 800", function() {
var jsonData = pm.response.json();
for(int i=0; i<responseJson.length;i++){
if(jsonData[i].name=='Erin'){
pm.expect(jsonData[i].id).to.eql(800);
}
}
});
在下面稍微更新了响应,我希望我的测试失败,因为 "Jack" 是
未找到,只有找到杰克才通过
pm.test("Validate id to be 800", function () {
let jsonData = pm.response.json();
for(i=0; i < jsonData.length; i++) {
if(jsonData[i].name == 'Jack') {
pm.expect(jsonData[i].id).to.eql(800);
}
}
});
我觉得那个响应主体不太合适,我希望在对象中的 属性 键周围看到引号。
此外,您的引用没有正确命名,这将通过测试,因为它不会在脚本中导致任何引用错误。
这应该可以帮到您:
pm.test("Validate id to be 800", function () {
let jsonData = pm.response.json();
for(i=0; i < jsonData.length; i++) {
if(jsonData[i].name === 'Erin') {
pm.expect(jsonData[i].id).to.eql(800);
}
}
});
您可以将测试代码重写为如下内容:
pm.test("Validate id to be 800", () => {
let jsonData = pm.response.json();
jsonData.forEach(item => {
if(item.name === 'Erin') {
pm.expect(item.id).to.eql(800);
}
});
});
失败时的测试结果:
虽然运行邮递员测试,测试用例似乎总是通过 下面提供了响应正文。我正在尝试在名称为 "Erin" 时获取 id 并验证 id 为 800。我编写的一小段代码位于编写的响应正文下方 below.FOr 出于某种原因测试总是 returns真的。如果出于某种原因如果 Erin 和 800 不存在,它仍然通过测试。
[
{
"id":991,
"name":"Tomy"
},
{
"id":800,
"name":"Erin"
}
]
Code:
pm.test("Validate id to be 800", function() {
var jsonData = pm.response.json();
for(int i=0; i<responseJson.length;i++){
if(jsonData[i].name=='Erin'){
pm.expect(jsonData[i].id).to.eql(800);
}
}
});
在下面稍微更新了响应,我希望我的测试失败,因为 "Jack" 是 未找到,只有找到杰克才通过
pm.test("Validate id to be 800", function () {
let jsonData = pm.response.json();
for(i=0; i < jsonData.length; i++) {
if(jsonData[i].name == 'Jack') {
pm.expect(jsonData[i].id).to.eql(800);
}
}
});
我觉得那个响应主体不太合适,我希望在对象中的 属性 键周围看到引号。
此外,您的引用没有正确命名,这将通过测试,因为它不会在脚本中导致任何引用错误。
这应该可以帮到您:
pm.test("Validate id to be 800", function () {
let jsonData = pm.response.json();
for(i=0; i < jsonData.length; i++) {
if(jsonData[i].name === 'Erin') {
pm.expect(jsonData[i].id).to.eql(800);
}
}
});
您可以将测试代码重写为如下内容:
pm.test("Validate id to be 800", () => {
let jsonData = pm.response.json();
jsonData.forEach(item => {
if(item.name === 'Erin') {
pm.expect(item.id).to.eql(800);
}
});
});
失败时的测试结果: