Как мне написать тест Почтальона, чтобы убедиться, что запрос возвращает «400 Bad Request»? - PullRequest
0 голосов
/ 15 мая 2019

Мне нужен тестовый пример, который проверяет, что возвращается «400 Bad Request», когда выполняется вызов API без обязательного поля.(Ранее была ошибка, когда поле было необходимо, но запросы без него были приняты)

Это простой вызов POST с аутентификацией и необработанным телом.Он возвращает 200, когда возвращается пропущенное поле.

POST правильно возвращает «400 неверных запросов», но я не могу пройти тест.

Все следующие тесты не пройдены:

pm.test("Status is an error", function () {
    pm.response.to.be.error;
});
pm.test("Status code is 400", function () {
    pm.response.to.have.status(400);
});

Тело ответа:

Instantiation of [simple type, class com.[company].[product].notifications.api.v2.models.NotificationCreateV2] value failed for JSON property content due to missing (therefore NULL) value for creator parameter content which is a non-nullable type
 at [Source: (byte[])"{
  "field1": "string",
  "field2": "Snort",
  "field3": "Signature 5102",
  "field4": "2019-04-19T10:34:03Z",
  "field5": 0,
  "field6": 4
}"; line: 8, column: 1] (through reference chain: com.[company].[product].notifications.api.v2.models.NotificationCreateV2["content"])

1 Ответ

0 голосов
/ 18 июля 2019

Есть способ, при котором вы можете явно сделать несколько тестов для прохождения или провала. Обратитесь к следующему фрагменту кода, это может вам помочь.

pass=true;
fail=false;
try{
    if(responseCode.code === 200)
    {
        var jsonData = pm.response.json();
        tests["Request with 200 status ok : "+ responseCode.code] = responseCode.code === 200 === fail;

    }else if(responseCode.code !== 200){
        console.error("Web-service failed");
        tests["Request with 400 Bad Request: "+ responseCode.code] = responseCode.code === 400;
    }
}catch(err){
    console.log("Something went wrong please contact to your Admin...!"+err);
}
...