Тестирование контроллера 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 в этой ситуации.