Игнорировать уведомление об устаревании в PHPUnit 9? - PullRequest
1 голос
/ 09 марта 2020

Я запускаю тесты, используя PHPUnit 9, и когда я делаю assertRegExp, я получаю предупреждение

assertRegExp() is deprecated and will be removed in PHPUnit 10. Refactor your code to use assertMatchesRegularExpression() instead.

Как подавить предупреждение об устаревании для конкретного теста?

Примечание : - Я использую Laravel Dusk для запуска теста и использую помощника по тестированию assertPathIs.

1 Ответ

0 голосов
/ 18 апреля 2020

Из чтения этого сообщения в блоге от автора PHPUnit, нет встроенной опции для подавления этих предупреждений:

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

Это не должно помечать тесты как неудачные в конфигурации по умолчанию:

По умолчанию Средство запуска PHPUnit из командной строки завершает работу с кодом завершения оболочки 0, когда сообщается об использовании устаревшей функции. Этот код завершения оболочки используется, чтобы указать, что ошибки не произошло. Эта информация используется средами непрерывной интеграции, например, для определения успешности сборки. Если вы хотите, чтобы ваша сборка провалилась, поскольку в тестах используется устаревшая функциональность из PHPUnit, настройте failOnWarning = "true" в phpunit. xml. Это указывает PHPUnit на выход с кодом завершения оболочки 1 при использовании устаревших утверждений.

...