Как расширить WebTestCase в Symfony - PullRequest
0 голосов
/ 27 августа 2018

Я хочу написать функциональные тесты в Symfony, но я не могу переопределить createKernel метод WebTestCase.Наше приложение интегрировало Symfony, используя HttpKernel, например:

$kernel = new HttpKernel($dispatcher, $controllerResolver, new 
RequestStack(), $argumentResolver);

$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();

$kernel->terminate($request, $response);

Я пытался вернуть это ядро ​​из переопределенного метода createKernel, но у него нет некоторых методов (например, getContainer()), которые выдают ошибкупозже.Как я могу создать свое собственное ядро ​​для WebTestCase?

1 Ответ

0 голосов
/ 27 августа 2018

см. Документацию тестирование (symfony docs)

Чтобы запустить ваши функциональные тесты, класс WebTestCase должен знать которое является ядром приложения для его начальной загрузки. Класс ядра обычно определяется в переменной окружения KERNEL_CLASS (включается в файл phpunit.xml.dist по умолчанию, предоставленный Symfony):

<?xml version="1.0" charset="utf-8" ?>
<phpunit>
    <php>
        <!-- the value is the FQCN of the application kernel -->
        <env name="KERNEL_CLASS" value="App\Kernel" />
    </php>
    <!-- ... -->
</phpunit>

Кроме того, у вас есть исполняемый файл phpunit в каталоге bin и файл phpunit.xml.dist в каталоге приложения. обычно вы можете запускать тесты по bin/phpunit -c app path_to_the_tests

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...