Работает ли $ this-> get () только для маршрутов приложений в тестах Laravel? - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь проверить, существует ли файл robots.txt , но мой тест возвращает 404. Посещение URL website.test/robots.txt работает вручную. Это приводит меня к мысли, что метод $this->get() работает только для определенных маршрутов.

Вот мой тривиальный тест, который не проходит:

$response = $this->get(env('APP_URL') . '/robots.txt');
$response->assertSuccessful();

Работает ли $this->get() только для определенных маршрутов в тестах Laravel, или я что-то не так делаю?

1 Ответ

1 голос
/ 03 мая 2019

Да, ->get() будет работать только с определенными маршрутами, поскольку фактически не выполняет HTTP-запрос, он просто создает Request внутри, а затем возвращает ответ.

Самый простой способ проверить, существует ли файл, это сделать так:

$this->assertTrue(file_exists(public_path('robots.txt')));

file_exists () docs
public_path () документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...