在Postman测试用例中检查null值.not.eql()或.not.equal()不起作用

时间:2019-01-28 08:50:26

标签: postman chai postman-testcase

我正在处理一个API项目,并使用Postman测试API。我写了一些测试用例来检查null,如下所示,

//user id is present
pm.test("user id is present", function() {
    pm.expect(jsonData.data[0].userId).not.eql(null);
});

也按照this答案中的说明尝试使用.not.equal()

//user id is present
pm.test("user id is present", function() {
    pm.expect(jsonData.data[0].userId).not.equal(null);
});

但是,即使userId为null,所有这些都已通过。有没有想到在Postman测试用例中检查空值?

1 个答案:

答案 0 :(得分:1)

首先,打开控制台并运行下面的代码片段以检查类型:

pm.test("user id is present", function() {
   console.log(typeof jsonData.data[0].userId);
   console.log(typeof jsonData.data[0]);
   console.log(typeof jsonData);
}

如果您为undefined获得了jsonData.data[0].userId,则需要更改测试以声明nullundefined

pm.test("user id is present", function() {
   pm.expect(jsonData.data[0].userId).to.exist //check if it is not equal to undefined
   pm.expect(jsonData.data[0].userId).to.not.be.null; //if it is not equal to null
}