Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在邮递员身上期望假与真完全相等_Javascript_Postman - Fatal编程技术网

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)循环
两次?!太棒了,我真的很感激。非常感谢。