Я хотел бы написать тест, чтобы убедиться, что параметры моего запроса в URL работают нормально. Но всякий раз, когда я делаю request()->all()
, я получаю пустой массив.
Вот моя тестовая часть:
public function test_it_should_paginate_the_results_when_perPage_query_is_used()
{
// Given
factory('App\Order', 17)->create();
// When
// $request = $this->call('GET', route('api.orders.index'), ['perPage' => '5']);
// $request = $this->call('GET', route('api.orders.index') . '?perPage=5', ['perPage' => '5']);
$request = $this->get(route('api.orders.index') . '?perPage=5');
// Then
$request->assertJsonCount(5);
}
А вот метод basi c в OrderController:
public function index()
{
dd(request()->all());
$orders = Order::all();
return $orders;
}
Я что-то пропустил?
Я забыл упомянуть, что он выбирает параметры в браузере, но не в инструменте тестирования PHPUnit
ОБНОВЛЕННЫЙ ВОПРОС
Итак, я обнаружил проблему. Он не работает при тестировании с помощью команды php artisan test
. Он работает только при использовании команды phpunit
.
Не знаю почему.