Тестирование 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?

0 ответов

Другие вопросы по тегам