Как обрабатывать зависимости контроллера в PHPUnit? - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь написать тест для моего контроллера индекса, но я вижу, что мне нужно передать ему зависимости, чтобы иметь возможность проверить его поведение, я применил принципы SOLID, поэтому я всегда создаю экземпляры контроллеров, использующих внедрение зависимостейконтейнер, так что я могу сделать то же самое для экземпляра контроллера в тестовом файле.

Вопрос, который жжет мне голову, состоит в том, является ли это решение правильным, потому что я понимаю, что цель модульного тестирования заключается впротестировать классы независимо, и если я использую контейнер зависимостей, я уже добавляю в игру другую сущность ... Я имею в виду, что если контейнер зависимостей завершится неудачно, то все мои тесты контроллеров также будут неудачными, не имея в виду, что контроллеры делают ихработа неправильная, тогда что будет правильным решением?

<?php namespace App\Tests\Controller;

use \PHPUnit\Framework\TestCase;

use App\Controller\indexController;
use App\Controller\DependencyInjection;

class indexControllerTest extends TestCase
{
    public function testIndexControllerCheckIfReturnedCorrectHttpResponseCode ()
    {
        $controller = DependencyInjection::getInstance(indexController::class );

        $httpResponse = indexController()->index();

        return assertEqual( $httpResponse->getStatusCode(), 200 );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...