检查 Postman 测试用例中的空值。not.eql() 或 .not.equal() 不起作用

Check null value in Postman test cases .not.eql() or .not.equal() are not working

我正在处理一个 API 项目并使用 Postman 测试 APIs。我写了几个测试用例来检查 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 测试用例中的空值?

首先,打开控制台和 运行 流动代码段来检查类型:

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
}