Есть ли способ, чтобы Behat НЕ выходил из строя на ошибках уведомления PHP?
Я понимаю, что лучше всего определять все переменные и проверять индексы массива перед оценкой. Тем не менее, я пытаюсь запустить некоторые тесты на новые функциональные возможности, разработанные поверх некоторого устаревшего кода, который не был закодирован таким образом.
Behat не удается с этим сообщением:
Scenario: Add a new resource # features/accounting.feature:6 Given I am user "admin" # FeatureContext::iAmUser() Notice: Undefined index: 13 in classloader.php line 126 When I create a new resource # FeatureContext::iCreateANewResource() Then [...]
В конце концов я исправлю эти уведомления, но мне нужно, чтобы Behat игнорировал уведомления из PHP. Есть ли способ сделать это?
Благодаря!
2 Solutions collect form web for “Есть ли способ, чтобы Behat НЕ выходил из строя на ошибках уведомления PHP?”
EDIT: Это будет работать для v2.x Behat. Для v> 3.x см. Ответ Александра Хааса ниже.
Наконец нашел это! Копаясь в коде, я обнаружил, что у Behat есть способ изменить уровень отчетности об ошибках. Просто делать
define('BEHAT_ERROR_REPORTING', E_ERROR | E_WARNING | E_PARSE);
в файле FeatureContext.php
. Это трюк!
Впоследствии, я googled константа и нашел это в журнале изменений :
- Добавлена константа BEHAT_ERROR_REPORTING для изменения уровня ошибки_репоты
Для Behat 3 см. Мой вопрос и ответ: Как запустить тесты Behat, когда есть ошибки уровня E_USER_DEPRECATED
BEHAT_ERROR_REPORTING
отбрасывается в пользу значения конфигурации.