Несколько HTTP-запросов в интеграционных тестах Laravel 5

Мы разрабатываем наши проекты на 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,

Кто-нибудь может предоставить альтернативу для сброса тестового клиента? Или, может быть, способ избежать его перезапуска?

5

Решение

$this->refreshApplication();

между звонками решил проблему для меня на Laravel 5.4.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]