PHPUnit & amp; Symfony: ложная ошибка ядра

Я пытаюсь проверить сервис, который принимает Symfony\Component\HttpKernel\Kernel как зависимость.

Это то, что я делаю, чтобы издеваться над ядром.

$this->kernel = $this->getMock('Symfony\Component\HttpKernel\KernelInterface');
$this->kernel->expects($this->any())
->method('getEnvironment')
->will($this->returnValue('dev'));

Когда я запускаю тест, я получаю следующее сообщение об ошибке.

Неустранимая ошибка: невозможно повторно объявить статическое foo \ foo \ WebTestCase :: $ kernel как нестатическое foo \ foo \ MyTest :: $ kernel в …

Есть идеи почему?

0

Решение

Внимательно прочитайте сообщение об ошибке. WebTestCase::$kernel является статической переменной, что означает, что вы не можете получить к ней доступ с $this, Попытка переопределить его как переменную экземпляра вызывает эту ошибку.

Кроме того, WebTestCase Этот класс не предназначен для использования в качестве базового класса для модульных тестов, в которых вы издеваетесь над ядром. Это класс, который облегчает написание функциональных тестов, поэтому реальное ядро ​​вводится в эту статическую переменную. Если вы хотите написать модульный тест и смоделировать ядро, используйте обычный TestCase класс из PHPUnit.

2

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector