当返回包含一个项的数组时,Postman测试无法测试数组

当返回包含一个项的数组时,Postman测试无法测试数组,postman,Postman,我有一个邮递员测试用例: pm.test("Check for property of type null or array", function(){ var isNullOrArray = (property === null || typeof(property) === "array"); pm.expect(isNullOrArray, "property is of type " + typeof(prope

我有一个邮递员测试用例:

pm.test("Check for property of type null or array", function(){
    var isNullOrArray = (property === null || typeof(property) === "array");
    pm.expect(isNullOrArray, "property is of type " + typeof(property)).to.be.true;
}); 
不幸的是,当我模拟一个只返回一个项的数组的响应时,如下所示:

"property": [
    {
        "user_id": 1234,
        "is_true": false
    }
 ]
测试失败,在日志中我可以看到typeof(property)是一个对象


该测试似乎适用于数组中有多个项的其他响应。我的考试怎么了?
typeof(property)==“array”
是否可能?或者可能是因为数组中只有一个对象而无法识别该数组吗?

请改用array.isArray,在javascript中,数组类型返回对象,因为在javascript中,除了基元类型之外,所有内容都是对象(意味着只有不可变的数据类型被视为非对象)

,数组不是原始数据类型,因此被视为对象

a = [1,2,3]

b =a

a[2] = 5

console.log(b)

您可以看到,更改“a”会更改“b”,因为它们是可变的,因此它是一个对象

我不知道它是如何传递给其他响应的。您可以添加一个传递了它不应该传递的示例吗pass@PHide,你说得对,它总是失败。我一定是在想象这些通行证…@PHide,你真是太棒了!还感谢您对类型的解释@你能点击勾号接受答案吗
a = [1,2,3]

b =a

a[2] = 5

console.log(b)