У меня есть PHPUnit 5.4.6 и PHP 5.6.16 с Xdebug 2.4.0RC2.
Покрытие HTML-кода дает мне эту ошибку:
Undefined property: SebastianBergmann\CodeCoverage\CodeCoverage::$container
Некоторый вывод HTML был фактически сгенерирован:
<!DOCTYPE html>
<html lang="en" xmlns:ng="http://angularjs.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script type="text/javascript">
var baseUrl = '
Фреймворк PHP — это Symfony 2. Он ссылается на контейнер Symfony или что-то еще? Есть идеи, с чего начать отладку?
ОБНОВИТЬ:
Как ни странно, при выполнении некоторого теста с опцией —filter я получил более сложное сообщение об ошибке:
Notice: Undefined property: PHP_CodeCoverage::$container
in [...]\src\Index\HomeBundle\Resources\views\Home\404.html.php on line 8
Так что это связано с Symfony …
Итак, ошибка генерируется тем фактом, что PHPUNIT анализировал также файлы шаблонов. И этот неполный вывод HTML был фактически строкой из шаблона.
Чтобы решить эту проблему, я изменил настройки с phpunit.xml, чтобы настроить таргетинг только на нужные папки.
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">../src/*/*/Controller/</directory>
<directory suffix=".php">../src/Models/</directory>
</whitelist>
</filter>
Других решений пока нет …