Как получить ожидаемый и фактический результат на консоли, если тест не пройден в Почтальоне
Я недавно пробовал почтальон тестовые сценарии для тестирования 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'); }); });