Тестирование контроллера Laravel - Фальсификация Illuminate\Http\Request

У меня есть контроллер, который получает экземпляр Illuminate\Http\Request вводится через конструктор. Теперь мне нужно написать модульный тест, который проверяет вызов в контроллере, который использует значения из Request пример. Я решил использовать Faker, Как использовать Faker для генерации ассоциативного массива, чтобы я мог использовать массив в моем тестовом примере, например,

$this->post('the_uri','MyFakerArray')

И динамический массив будет автоматически доступен в моем запросе контроллеров.

1 ответ

Решение

Нет необходимости подделывать / копировать объект запроса. Когда вы моделируете запрос, laravel делает это за вас, создает запрос к URL-адресу, который вы запрашиваете, и передает переменные, а затем вы получаете ответ от вашего приложения.

Например:

$response = $this->call('POST', '/user', ['name' => 'Taylor']);

теперь $response переменная имеет данные для проверки.

Я думаю, что у вас есть:

 getContent() // for getting the reponse body
 getCode()    // for http code: 200, 401 etc

Когда вы делаете это, ваши тесты должны работать с ответом, вам не нужен Faker в этой ситуации.

Другие вопросы по тегам