Проверьте нулевое значение в тестовых случаях Почтальона.not.eql() или.not.equal() не работают
Я работаю с проектом API и использую Postman для тестирования API. Я написал несколько тестов для проверки нуля следующим образом:
//user id is present
pm.test("user id is present", function() {
pm.expect(jsonData.data[0].userId).not.eql(null);
});
Также пробовал с .not.equal()
как описано в этом ответе.
//user id is present
pm.test("user id is present", function() {
pm.expect(jsonData.data[0].userId).not.equal(null);
});
Тем не менее, все это проходит, даже если userId null
, Кто-нибудь еще думал проверить нулевое значение в тестовом примере Почтальона?
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
, вам нужно изменить свой тест, чтобы утверждать null
а также undefined
:
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
}