Mehr Details in PHPUnit erhalten

Während ich Tests für einen meiner Dienste schrieb, bin ich auf ein etwas unangenehmes Problem gestoßen, das folgendermaßen aussah:

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.

Falls Sie es nicht sehen – lassen Sie es mich mit dem Finger zeigen: PHPUnit Deprecations: 2. Und wie Sie wahrscheinlich schon bemerkt haben, werden dazu keine zusätzlichen Informationen angezeigt. Da unbekannte Probleme genauso lästig sein können wie Fehler und sich Deprecations langfristig rächen können, wollte ich das Problem von Anfang an beheben und dabei möglichst mehr Informationen erhalten.

Um mehr Informationen zu Deprecations zu erhalten, öffnen Sie Ihre Datei phpunit.xml und fügen Sie in <phpunit> die folgenden Attribute hinzu:

displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnPhpunitDeprecations="true"

Wenn Sie beim Ausführen von phpunit etwas mehr Informationen zu Fehlern, Notices und Warnings erhalten möchten, können Sie Ihre phpunit.xml wie folgt anpassen:

<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">

Nachdem ich zusätzliche Details zu meinen Tests erhalten hatte, bekam ich eine schöne Ausgabe: Metadata in doc-comments is deprecated and will no longer be supported in PHPUnit 12. Update your test code to use attributes instead. Das bezog sich auf @test. Nachdem ich es aus den doc-comments entfernt hatte, erhielt ich eine schöne, saubere und grüne Ansicht meiner erfolgreich durchlaufenden Tests:

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)

Generell empfehle ich Ihnen aber, sich mit der PHPUnit-Dokumentation vertraut zu machen