Тестирование Laravel: координируйте http-запрос и контроллер
В приведенном ниже тесте мы (смиренно мой я) должны убедиться, что $utmSource
Поле класса получило правильное значение.
<?php
class ExampleTest extends TestCase {
public function testHttpRequestAndControllerCoordination() {
$response = $this->call('GET', '/')->json([utm_source => 'Google']);
$topPageController = new TopPageController();
$topPageController->renderTopPage();
$this->assertAttributeSame('Google', 'utm_source', $topPageController);
}
}
class TopPageController extends Controller {
private $utmSource;
public function renderTopPage(){
$this->utmSource = request()->utm_source;
}
}
Конечно, этот тест не пройдет, потому что $response
а также $topPageController
независимы, поэтому $utmSource
будет null
, Как мы можем связать $response
а также $topPageController
?