Больше деталей в PHPUnit

Во время написания тестов для одного из моих сервисов я столкнулся с не самой приятной проблемой, которая выглядела следующим образом:

PHPUnit 11.4.2 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.3.8
Configuration: project/path

..                                                                  2 / 2 (100%)

Time: 00:00.711, Memory: 54.50 MB

OK, but there were issues!
Tests: 2, Assertions: 8, PHPUnit Deprecations: 2.

Если вы не заметили — позвольте указать пальцем: PHPUnit Deprecations: 2. И, как вы, наверное, уже заметили, никакой дополнительной информации при этом не предоставляется. Поскольку неизвестные проблемы могут раздражать не меньше, чем ошибки, а устаревшие функции (deprecations) со временем могут аукнуться, я решил разобраться с этой проблемой с самого начала и по возможности получить больше информации.

Чтобы получить больше информации об устаревших функциях, откройте файл phpunit.xml и добавьте в <phpunit> следующие атрибуты:

displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnPhpunitDeprecations="true"

Если вы хотите получать чуть больше информации об ошибках, уведомлениях (notices) и предупреждениях (warnings) при запуске phpunit, ваш файл phpunit.xml может выглядеть следующим образом:

<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         colors="true"
         displayDetailsOnTestsThatTriggerDeprecations="true"
         displayDetailsOnTestsThatTriggerErrors="true"
         displayDetailsOnTestsThatTriggerNotices="true"
         displayDetailsOnTestsThatTriggerWarnings="true"
         displayDetailsOnPhpunitDeprecations="true">

Получив дополнительные детали по своим тестам, я увидел приятный вывод: Metadata in doc-comments is deprecated and will no longer be supported in PHPUnit 12. Update your test code to use attributes instead. Это относилось к @test, и после того как я убрал его из doc-comments, я получил чистый, аккуратный и зелёный вывод об успешном прохождении тестов:

PHPUnit 11.4.2 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.3.8
Configuration: project/path

..                                                                  2 / 2 (100%)

Time: 00:00.729, Memory: 54.50 MB

OK (2 tests, 8 assertions)

Но в целом я настоятельно рекомендую ознакомиться с документацией PHPUnit