Как получить ожидаемый и фактический результат на консоли, если тест не пройден в Почтальоне

Я недавно пробовал почтальон тестовые сценарии для тестирования API. Одной вещью, которую я нахожу сложной, является ожидаемый и фактический результат теста, если тест не пройден. Как мне этого добиться. Я попытался с console.log, но он не будет печатать, если тест не пройден. Как получить более общее решение с единой функцией для всех тестов.

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
    console.log("TestCase: Status Code should be 200"+", 
        Expected: "+"Response code should be 200"+", Actual: "+pm.response.code);
});

2 ответа

Решение

Это сообщение об ошибке подтверждения автоматически отправляется в раздел результатов теста, если тест не пройден:

Status code is 200 | AssertionError: expected response to have status code 201 but got 200

Вы можете использовать это, но это будет просто повторять то, что Почтальон говорит вам, когда тест не пройден:

pm.test(`Status code is 200 - Actual Status Code: ${pm.response.code}`, () => {
    pm.response.to.have.status(200)
})

Status code is 200 - Actual Status Code: 404 | AssertionError: expected response to have status code 200 but got 404

В справочнике Postman Sandbox API у вас есть общий пример ожидания статуса ok (200) от сервера:

pm.sendRequest('https://postman-echo.com/get', function (err, res) {

if (err) { console.log(err); }

pm.test('response should be okay to process', function () {

pm.expect(err).to.equal(null);

pm.expect(res).to.have.property('code', 200);

pm.expect(res).to.have.property('status', 'OK');

});
});
Другие вопросы по тегам