Ursprünglich habe ich diesen Artikel am 3. Oktober 2025 als Newsletter an meine Abonnentinnen und Abonnenten verschickt. Weitere Informationen findest du am Ende dieses Artikels.
Data Provider flexibler nutzen
PHPUnit 12.4 bringt eine stark nachgefragte Funktion, mit der Tests die Überprüfung umgehen können, die sicherstellt, dass Data Provider-Methoden nicht mehr Werte liefern, als eine Testmethode akzeptiert. Diese Verbesserung, die ursprünglich in Issue #6277 angefragt wurde, hilft in Szenarien, wo Entwicklerinnen und Entwickler bewusst auf die Fähigkeit von PHP setzen, zusätzliche Funktionsargumente zu akzeptieren.
Die neue Funktion ermöglicht die Wiederverwendung von Data Provider-Methoden über mehrere Testmethoden mit unterschiedlichen Parameteranforderungen hinweg. Ein Beispiel dafür sind Sicherheitstestszenarien, in denen eine Testmethode die Administratorberechtigungen nur anhand eines Attributparameters überprüft, während ein anderer Test dasselbe Attribut zusammen mit bestimmten Berechtigungsprofilen validiert.
Deprecations besser filtern
Eine wichtige Verbesserung kam durch den Pull-Request #6341, der Unterstützung für reguläre Ausdrücke mit dem Attribut #[IgnoreDeprecations] einführt. Mit dieser Funktion können Entwicklerinnen und Entwickler bestimmte Deprecations gezielt ignorieren, anstatt alle Deprecations zu unterdrücken, was eine viel genauere Kontrolle über die Testausführung ermöglicht.
Diese Verbesserung ist besonders nützlich, wenn mit Bibliotheken von Drittanbietern gearbeitet wird, die Deprecations auslösen. So können sich Teams auf ihre eigene Codequalität konzentrieren und gleichzeitig schrittweise Probleme im Zusammenhang mit Abhängigkeiten angehen.
Kompatibilität mit PHP 8.5
Da PHP 8.5 schon bald, und zwar am 20. November 2025, erscheinen soll, habe ich dafür gesorgt, dass alle unterstützten Versionen von PHPUnit, PHPUnit 8 bis PHPUnit 12, mit der neuen PHP-Version kompatibel sind.
Die Arbeit an PHP 8.6, das im November 2026 erscheinen soll, hat bereits begonnen. In der CI-Pipeline werden daher schon jetzt alle unterstützten PHPUnit-Versionen mit den Nightly Builds von PHP 8.6 getestet.
Livestream
Hier ist die Aufzeichnung des Livestreams, in dem ich die wichtigsten Änderungen in PHPUnit 12.4 erläutert habe:
Exklusive Einblicke direkt in deinem Posteingang
Alle zwei Monate, zeitgleich mit jedem PHPUnit Feature Release, schicke ich meinen Abonnentinnen und Abonnenten eine ausführliche Einordnung der neuen Funktionen: was sie tun, wie sie implementiert sind und warum sie aufgenommen wurden. Das ist der Kontext, den das ChangeLog nicht liefert.
Den Inhalt des Newsletters veröffentliche ich einen Monat nach dem Versand an meine Abonnenten hier auf dieser Website. Jetzt abonnieren, um die Informationen so früh wie möglich zu erhalten.