邮递员:测试抛出断言错误`expected null to deeply equal undefined`
Postman: test throws assertion error `expected null to deeply equal undefined`
我有一个 API 回复如下:
[
{
"id": 1,
"instance_id": 1400,
"entity_uuid": 21,
"field": null,
"old_value": null,
"new_value": null,
"kind": "C",
"updated_by": "binish",
"updated_dt": "2017-12-28T13:19:22.000Z"
}
]
我想在 Postman 中验证 old_value
字段的值,下面是代码:
var data = pm.response.json(responseBody);
var oldValue = data.old_value;
var nullValue = null;
pm.test("Old Value is NULL", function(){
pm.expect(nullValue).to.be.eql(oldValue);
});
测试抛出错误:
"AssertionError: expected null to deeply equal undefined".
我做错了什么?
你能用这样的东西来检查 old_value
属性 是 null
吗?这是使用内置模块 Lodash 允许您以比本机 JS for
循环更清晰的方式循环数据。
pm.test("Old Value is NULL", () => {
_.each(pm.response.json(), (arrItem) => {
console.log(arrItem)
pm.expect(arrItem.old_value).to.be.null
})
})
使用您附加到问题的数据,我扩展了它以将另一个对象添加到数组中。这是为了向您展示此测试将检查 each
对象 old_value
属性 是否具有相同的 null
值,而不是限制您只查看第一个 [0]
对象。
这一行有错误:var data = pm.response.json(responseBody);
你不需要那个参数,因为,正如你在 documentation 中看到的,这里的参数是可选的,第一个参数是 function()
,
在我看来,它将起作用:删除此参数后:
var data = pm.response.json();
var oldValue = data[0].old_value; //data is array
var nullValue = null;
pm.test("Old Value is NULL", function(){
pm.expect(nullValue).to.be.eql(oldValue);
});
我有一个 API 回复如下:
[
{
"id": 1,
"instance_id": 1400,
"entity_uuid": 21,
"field": null,
"old_value": null,
"new_value": null,
"kind": "C",
"updated_by": "binish",
"updated_dt": "2017-12-28T13:19:22.000Z"
}
]
我想在 Postman 中验证 old_value
字段的值,下面是代码:
var data = pm.response.json(responseBody);
var oldValue = data.old_value;
var nullValue = null;
pm.test("Old Value is NULL", function(){
pm.expect(nullValue).to.be.eql(oldValue);
});
测试抛出错误:
"AssertionError: expected null to deeply equal undefined".
我做错了什么?
你能用这样的东西来检查 old_value
属性 是 null
吗?这是使用内置模块 Lodash 允许您以比本机 JS for
循环更清晰的方式循环数据。
pm.test("Old Value is NULL", () => {
_.each(pm.response.json(), (arrItem) => {
console.log(arrItem)
pm.expect(arrItem.old_value).to.be.null
})
})
使用您附加到问题的数据,我扩展了它以将另一个对象添加到数组中。这是为了向您展示此测试将检查 each
对象 old_value
属性 是否具有相同的 null
值,而不是限制您只查看第一个 [0]
对象。
这一行有错误:var data = pm.response.json(responseBody);
你不需要那个参数,因为,正如你在 documentation 中看到的,这里的参数是可选的,第一个参数是 function()
,
在我看来,它将起作用:删除此参数后:
var data = pm.response.json();
var oldValue = data[0].old_value; //data is array
var nullValue = null;
pm.test("Old Value is NULL", function(){
pm.expect(nullValue).to.be.eql(oldValue);
});