Проверьте на 404 в коде

Я использую кодирование с Laravel. Я пытаюсь написать приемочный тест.

Я хочу проверить, что URL существует, а это означает, что я не получаю ошибки 404/403 / и т.д. Таким образом, ответ должен быть 200.

Как я могу это сделать? Или я ошибаюсь, и я не должен проверять это в приемочных тестах, а вместо этого использовать «Я вижу что-то»? Я просто немного запутался в использовании $I->seeПотому что метка может быть изменена / исправлена, поэтому полагаться на метку сомнительно. Я просто хочу проверить, что, по крайней мере, я не вижу «не найдено». Но, в зависимости от дизайна страницы 404, может не быть этой строки «not found» (что, если я просто добавлю «404» на мою страницу 404)

0

Решение

Это должен быть функциональный тест, потому что вы сравниваете результат ввода со спецификацией, а вас не волнует другое (как промежуточные результаты или побочные эффекты).

Ваша спецификация говорит, что если вы посещаете данную страницу (вход), вы должны получить код состояния 200 (результат), и вы можете использовать $I->seeResponseCodeIs(200); выполнить то, что вы хотите.

Пример:

$I->amOnPage('/login');
$I->seeResponseCodeIs(200);
3

Другие решения

Других решений пока нет …