Как я могу получить код ответа HTTP без фактической проверки?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я могу получить код ответа HTTP без фактической проверки?

Сообщение Anonymous »

Я ищу способ получить код ответа HTTP в Codeception без фактической проверки его в тестах API (сквозной).

Код: Выделить всё

Composer.json
:

Код: Выделить всё

    "codeception/codeception": ">=5.1.2",
"codeception/module-phpbrowser": ">=3.0.1",
"codeception/module-asserts": ">=3.0.0",
"codeception/module-rest": ">=3.3.2",
В моем тесте у меня есть два возможных кода ответа. Вызов API возвращает 200, если объект был создан, и 409, если объект уже существует (был отправлен несколько раз). Таким образом, поведение API правильное. В моих тестах Codeception для определенных сред я просто не знаю, существует ли объект уже, поэтому мне нужно проверить, либо 200, либо 409. Оба приемлемы, его нельзя изменить.
Я пробовал это, но в некоторых случаях тест завершается неудачно - даже если код ответа HTTP равен 200 или 409:

Код: Выделить всё

    $found = false;
foreach($responseCodeExpected as $rce) {
try{
$t->canSeeResponseCodeIs($rce);
$found = true;
break;
} catch (\Throwable $t) {
continue;
}
}
if(!$found) {
throw new RuntimeException("No matching response code found in the provided array.");
}
Похоже, проблема вызвана $t->canSeeResponseCodeIs($rce);, если он вызывается с неправильным кодом ответа, это означает провал теста.
Как просто получить код ответа HTTP?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... rification
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»