【发布时间】:2020-01-19 15:12:47
【问题描述】:
我在编写测试以验证我的数组中的值是否为空时遇到问题 []
这是我尝试过的几个测试
pm.test("Empty", function() {
var jsonData = pm.response.json();
pm.expect(jsonData.Big.Value).to.eql(undefined);
});
pm.test("Empty", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.Big.Value.length).to.eql(0);
});
这是我的请求响应
[
{
"id": "",
"date": "2019-09-20",
“Big”: {
“BigLabel": "Times",
“Value”: []
},
"body": null
},
{
"id": "",
"date": "2019-09-21",
"Big": {
“BigLabel": "Times",
“Value”: []
},
"body": null
}
]
Expected 是验证 Value 是否为空的测试
【问题讨论】:
-
当然这应该是
jsonData[0].Big.Value.length,因为json数据是一个对象数组而不是一个对象。 -
另外,两个对象上的
.Value属性永远不会是undefined,它等于一个空数组,因此即使您以这种方式正确地确定范围,第一个测试也会失败@Deckerz 在上面推荐。 -
@Deckerz 非常感谢您的成功。
-
此外,如果您发布多个,则需要一个 for 循环来测试所有这些
[0]仅执行数组中的第一个条目@wyattbrandon -
是的@Deckerz,我通过识别它的对象数组而不仅仅是一个对象,就让 for 循环工作了。
标签: javascript arrays postman