Верх страницы
Обложка к записи Тестирование Warnings в PHPUnit 9+
Время для прочтения: 0 мин. 23 сек.

Тестирование Warnings в PHPUnit 9+

Тестирование предупреждений (warnings), передаваемых через trigger_error, вызывает предупреждение об устаревании в PHPUnit 9+.

Expecting E_WARNING and E_USER_WARNING is deprecated and will no longer be possible in PHPUnit 10

Тестирование E_USER_WARNING и E_WARNINGM больше не будет возможным, в пользу брошенных исключений. Ни один из обычных трюков конфигурации convertWarningsToExceptions не работает.

Вот фрагмент, который может помочь:

$errored = null;
set_error_handler(function($errno, $errstr, ...$args) use (&$errored) {
    $errored = [$errno, $errstr, $args];
    restore_error_handler();
});
call_error_triggering_function();
$this->assertNotNull($errored, 'did not trigger any warning');                                                                             
[$errno, $errstr, $args] = $errored;
$this->assertEquals(E_USER_WARNING, $errno, 'did not trigger an E_USER_WARNING');

Тот факт, что в PHPUnit 10 мы даже не увидим предупреждений и исправлений, просто ужасает!

Таков путь!

Источник: Testing Warnings in PHPUnit 9+.

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы