Intereting Posts
Почему данные сеанса пусты в Symfony2 и как получить к нему доступ? Как отправить запрос на отправку в RESTserver api в php-Codeigniter? Выполните шифрование с помощью PHP (openssl_encrypt), затем расшифруйте с помощью JS (CryptoJS) Открытие загруженного zip-файла создает файл cpgz? c ++ php и статическая библиотека как получить множественный набор результатов из хранимой процедуры mysql в laravel Я пытаюсь, чтобы страница «Подробности» ссылалась на две отдельные части моего сервера, которые связаны через techID Какой лучший PHP ORM для codeigniter? Правильный способ использования LIKE '% {$ var}%' с подготовленными операторами? Два идентичных POST-действия с jquery модальным экраном, один работает, а другой нет? Магические методы __get и __set – пример из ZCE Как разделить IP-адрес в PHP PHP Закрывает область видимости переменных Является ли мой кеш скриптов PHP (общедоступным) дружественным? MySQL LEFT JOIN Проблема с несколькими таблицами

Почему phpunit не показывает ошибок в консоли

Я использую phpunit с базой Laravel 4. Почему, когда во время тестов возникает ошибка PHP, сообщения об ошибках не отображаются (например: отсутствующий метод)?

Как мы можем заставить phpunit показать все ошибки?

введите описание изображения здесь

Я думаю, что проблема, вероятно, относится к самому PHP, а не к PHPUnit. Выполните следующие действия:

1. Проверьте правильность php.ini . Обратите внимание, что некоторые системы могут использовать разные php.ini для разных PHP SAPI:

 php -i | grep php.ini Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.ini 

2. Измените настройки вывода ошибок . Установите соответствующие параметры для error_reporting , display_errors , display_startup_errors в соответствующем php.ini :

 error_reporting = E_ALL display_errors = On display_startup_errors = On 

Если вы не хотите изменять поведение сообщений об ошибках CLI в глобальной области, вы можете использовать файл начальной загрузки PHPUnit для определения этих настроек.

1. Установите bootstrap для PHPUnit . Откройте файл /Applications/MAMP/htdocs/testtingDecoded/phpunit.xml и добавьте атрибут bootstrap в тег phpunit:

 <phpunit bootstrap="bootstrap.php"> 

2. Создайте bootstrap.php в папке с phpunit.xml :

 <?php ini_set('error_reporting', E_ALL); // or error_reporting(E_ALL); ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); 

Это очень распространенная проблема, особенно когда вы выполняете тесты на производственном сервере или когда тестер не очень хорошо разбирается в конфигурации PHP.

Проблема связана с настройками php.ini , как указал Александр Янчарук в своем ответе, и все решения, которые он предлагает, работают нормально.

Но есть еще одно решение, которое может быть полезным, как и для меня, – это установить соответствующие параметры PHP в самом файле конфигурации PHPUnit (XML):

 <phpunit> <suites> ... </suites> <php> <ini name="display_errors" value="On" /> <ini name="display_startup_errors" value="On" /> </php> </phpunit> 

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