Javascript 在邮递员身上期望假与真完全相等
我正在尝试编写一个测试来确认Javascript 在邮递员身上期望假与真完全相等,javascript,postman,Javascript,Postman,我正在尝试编写一个测试来确认“Active”:true,我正在努力。为草率的代码提前道歉。这就是我尝试过的,我得到了“断言者错误:期望false与true完全相等” 这是我收到的代码和回复 var jsonData = pm.response.json(); for (i of jsonData.resources) { var found = false; var serviceID = pm.environment.get("serviceID"); for (i of
“Active”:true
,我正在努力。为草率的代码提前道歉。这就是我尝试过的,我得到了“断言者错误:期望false与true完全相等”
这是我收到的代码和回复
var jsonData = pm.response.json();
for (i of jsonData.resources) {
var found = false;
var serviceID = pm.environment.get("serviceID");
for (i of jsonData.resources) {
if (i.ID == serviceID) {
if (i.Active == "true") {
found = true;
break;
}
}
}
pm.expect(found).to.be.eql(true);
}
您正在检查
i.Active==“true”
但您的数据将i.Active
显示为布尔值,而不是字符串(true!==“true”
)
改为检查布尔值:
if (i.Active === true) {
found = true;
break;
}
像这样的东西会对你想要做的事情起作用:
let jsonData = pm.response.json(),
serviceID = pm.environment.get("serviceID");
_.each(jsonData.resources, (item) => {
if (item.ID === serviceID) {
pm.expect(item.Active).to.be.true
}
});
请将您的响应正文作为文本包含在内,以便用户将来可以对其进行搜索。您在循环变量
i
上缺少const
声明(两次-或者实际上您需要在内部循环上使用不同的变量名)为什么要对(jsonData.resources的i)循环两次?!太棒了,我真的很感激。非常感谢。