Мы разрабатываем наши проекты на Laravel 4. Один из наших интеграционных тестов выполняет два последовательных HTTP-запроса к одному и тому же контроллеру:
public function testFetchingPaginatedEntities() {
$response = $this->call('GET', "foos?page=1&page_size=1");
// assertions
$response = $this->call('GET', "foos");
// some more assertions
}
Как видите, второй запрос не содержит никаких параметров строки запроса. Однако мы заметили, что наш контроллер получал page
и page_size
в обоих запросах.
Мы смогли исправить это, перезапустив тестовый клиент между вызовами (как описано в Тесты контроллера Laravel 4 - ErrorException после слишком большого количества $this-›call() - почему?):
public function testFetchingPaginatedEntities() {
$response = $this->call('GET', "foos?page=1&page_size=1");
// assertions
$this->client->restart();
$response = $this->call('GET', "foos");
// some more assertions
}
Сейчас мы рассматриваем перенос нашего проекта на Laravel 5, но похоже, что $this->client
больше не доступен в тестах, так как L5 больше не использует Illuminate\Foundation\Testing\Client
.
Может ли кто-нибудь предоставить альтернативу сбросу тестового клиента? Или, может быть, способ вообще избежать его перезапуска?
$this->client->restart()
больше не нужен? - person spacek33z   schedule 10.03.2015