Тест почтальона с использованием оператора switch для кодов состояния HTTP - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь создать тест в Postman, чтобы он возвращал разные текстовые ответы в зависимости от результата оператора switch. Тем не менее, я не уверен, почему он говорит, что нет доступных тестов, когда я нажимаю «запустить». Мой метод Get настроен правильно, так как, когда я выполняю его самостоятельно, он возвращает, например. 200 ОК. У меня есть ниже:

var statMessages ;

switch (statMessages) {
  case '500':
    console.log('Internal Server Error.');
    break;
  case '200':
    console.log('200 Ok');
    break;
  case '503':
    console.log('Service unavailable.');
    break;
  case '502':
    console.log('502 bad gateway.');
    break;
  case '599':
    console.log('Network connect timeout error.');
    break;
  case '408':
    console.log('Request timedout.');
    break;
  default:
   console.log('Sorry, we are out of ' + statMessages + '.');
}
console.log("Try again?");

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Я не уверен в причинах использования здесь выражения switch (я уверен, что это что-то в вашем контексте), но если вы просто проверяете конкретный код, который будет возвращен, и увидите сообщение журнала Вы можете просто получить что-то простое, как это:

pm.test(`Status code check - Status Code was: ${pm.response.code}`, () => {
    pm.expect(pm.response.code).to.be.oneOf([500,200,502,599,408])
}) 

enter image description here

Если утверждение не выполнено, тест не пройден, и ошибка покажет вам, какой код состояния был возвращен.

enter image description here

0 голосов
/ 02 мая 2018

enter image description here Если я не неправильно понял ваш вопрос, то я думаю, что вы должны попробовать так. Получить код состояния HTTP, как на вашем statMessages

var statMessages = responseCode.code; // it'll return numeric code e.g 200

switch (statMessages) {
  case 500:
    tests["Internal Server Error."] = statMessages === 500;
    break;
  case 200:
    tests["200 Ok"] = statMessages === 200;
    break;
  case 503:
    tests["Service unavailable."] = statMessages === 503;
    break;
  case 502:
    tests["502 bad gateway."] = statMessages === 502;
    break;
  case 599:
    tests["Network connect timeout error."] = statMessages === 599;
    break;
  case 408:
    tests["Request timedout."] = statMessages === 408;
    break;
  default:
    tests["Sorry, we are out of" + responseCode.code]
}
...