Почтальон: Как проверить, не возвращается ли поле в нуль в Почтальоне
Я пытался с "!== null", но он возвращает PASS, даже когда поле возвращает 0 или "".
12 ответов
Это работает с марта 2019 года:
pm.test("To Check if Value is Null", function() {
var jsonData = pm.response.json();
pm.expect(jsonData.<yourfield>).not.eq(undefined);
)};
Если вы проверяете Id первого элемента, возвращенного в списке, вы можете использовать not.equal(null)
:
pm.expect(pm.response.json().value[0].Id).not.equal(null);
Обратите внимание, что слово "равно" полностью прописано, хотя сокращенное "eql" работает.
Попробуй это:
pm.test("your-value is not null", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.your_value).not.eql(null);
});
Почтальон не ссылается на несуществующие пути как нулевые, но как неопределенные.
pm.expect(JsonResponse.FAKE.PATH).not.eql(undefined);
Этот тест должен провалиться, так как этот поддельный путь json на самом деле не определен.
Я столкнулся с подобной проблемой. Но проверка следующим образом сработала для меня
tests["Item is not null"] =
jsonData.item !== undefined;
Вы должны поместить + [i] после функции, которую вы собираетесь проверить в tests[], чтобы только она возвращала действительные операторы для каждого массива. Например,
function checkIsNull() {
var items = json.data.pois.items
var PlaceIdIsNull = true;
var subTypeExtraIsNull = true;
var websiteIsNull = true;
for (var i = 0; i < items.length; i++) {
if (items[i].placeId !== null) {
PlaceIdIsNull = false;
}
if (items[i].subTypeExtra !== null) {
subTypeExtraIsNull = false;
}
if (items[i].website === null) {
websiteIsNull = false;
tests['website is null only happened on these arrays' + [i]] = true;
}
tests['Place ID is null '] = PlaceIdIsNull
tests['subTypeExtra is null '] = subTypeExtraIsNull
}
}
checkIsNull();
Результат:
PASS ID места равен нулю
PASS subTypeExtra имеет значение null
Вы можете получить доступ к ответу JSON, как:
var json = JSON.parse(responseBody);
var yourVAr = json.yourVar
if(yourVar == null){
//your var is null here
}
Я сделал подобное, это одна часть кода, и она хорошо работает Проверьте этот код
var jsonData = JSON.parse(responseBody);
for(i=0; i<jsonData.data.length; i++){
tests["due date is between given date range"] = jsonData.data[i].duedate < environment.Cenddate && jsonData.data[i].duedate > environment.Cstartdate;
tests["response body has department name"] = jsonData.data[i].department.name !== null;
}
Попробуй это:
let jsonData = pm.response.json();
pm.expect(jsonData["yourfield"]).to.eq(null);
Это работает по состоянию на 19 сентября 2022 г.
pm.test("Check that response body is not null", ()=>{
pm.response.to.be.have.body
})
Как насчет:
var jsonData = JSON.parse(responseBody);
tests["Item is not null"] =
jsonData.item !== null &&
jsonData.item !== ' ' &&
jsonData.item !== 0;