Запустите другой тест сбора на основе типа метода HTTP в Postman

Я определил несколько тестов коллекции, которые запускаются после каждого отдельного теста в коллекции. Увидеть ниже

pm.test("Status code is not of error type", function() {
    pm.expect(pm.response.code).to.not.eql(500);
});

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

pm.test("Response must be valid json", function () {
     pm.response.to.be.withBody;
     pm.response.to.be.json;
});

Я бы хотел их расширить. В идеале я хотел бы запускать разные тесты в зависимости от типа метода, с которым они были отправлены. Например, я хотел бы проверить каждый запрос DELETE на следующее.

pm.expect(pm.response.code).to.be.oneOf([204, 409])

Можно ли определить это на уровне коллекции? Или мне нужно вставлять эту строку в каждый мой запрос на удаление?


person Dan    schedule 21.03.2019    source источник


Ответы (1)


Для повышения наглядности, вероятно, лучше всего провести такой тест на уровне запроса или сгруппировать похожие запросы в папку и применить тесты на уровне папки. Цель тестов на уровне папок / коллекций - применить одни и те же тесты в широком спектре.

Если вы действительно хотели это сделать, вы можете заключить свой тест в условие if:

if (pm.request.method === 'DELETE') {
  pm.expect(pm.response.code).to.be.oneOf([204, 409]);
}
person Matt    schedule 21.03.2019
comment
Простите за поздний ответ. Благодарю вас, я не знал, что вы можете определять тесты также на уровне папок. Это идеально. - person Dan; 05.04.2019