Sebastian Bergmann hat auf GitHub die neueste Version des PHP-Testing-Frameworks PHPUnit, PHPUnit 4.5.0, vorgestellt. Neben zwei neuen Features gab es auch einige Änderungen und Verbesserungen. Zudem verabschiedet sich die neue Version von ein paar Altlasten in Form von als deprecated markierten Methoden.
PHPUnit 5.4.0
Das Spannendste gibt’s gleich zu Anfang: So wurde in PHPUnit 5.4.0 die Methode PHPUnit_Framework_TestCase::createMock()
hinzugefügt, die das Erstellen von Test-Doubles ermöglicht. Das Ganze wird über Best-Practice-Defaults realisiert. Entsprechen diese Voreinstellungen den eigenen Wünschen nicht, kann die getMockBuilder()
-Methode verwendet werden, um die Test-Double-Erzeugung über ein Fluent Interface anzupassen.
Zudem wurde die Konfigurationsoption registerMockObjectsFromTestArgumentsRecursively
in PHPUnit 5.4.0 hinzugefügt. Steht sie auf true
, werden Arrays und Objektgraphen, die mittels @dataProvider
in Tests übergehen, rekursiv auf Mock-Objekte überprüft. Auf diese Weise können sie das vordefinierte Verhalten und die Erwartungswerte auch in einer Test-Methode beibehalten.
Frameworkless – the new black?
by Carsten Windler (KW-Commerce GmbH)
Getting started with PHP-FFI
by Thomas Bley (Bringmeister GmbH)
JSON-Schema von 0 auf 100
by Ingo Walther (Electronic Minds GmbH)
Interview mit Christian Schneider zum Thema „DevSecOps“
DevSecOps ist, bezogen auf Security-Checks, die logische Fortführung der Automatisierung im DevOps-Sinne
IT-Security Experte, Christian Schneider
Christian ist als freiberuflicher Whitehat Hacker, Trainer und Security-Coach tätig. Als Softwareentwickler mit mittlerweile 20 Jahren Erfahrung, fand er 2005 seinen Themenschwerpunkt im Bereich IT-Security.
In PHPUnit 5.4.0 gab es auch einige kleinere Änderungen: Die Methoden PHPUnit_Framework_TestCase::getMock()
sowie PHPUnit_Framework_TestCase::getMockWithoutInvokingTheOriginalConstructor()
wurden als deprecated markiert. Außerdem wurde die Art, wie ein Logfile unter Nutzung der —log-junit
-Option und der <log type="junit" target="..."/>
-Konfiguration erstellt wird, aktualisiert; damit entspricht sie dem aktuellen Standard von JUnit. Des Weiteren wurden noch ein paar kleinere Änderungen an PHPUnit 5.4.0 vorgenommen, die im Changelog nachzuvollziehen sind.
Update: PHPUnit 5.4.1 und PHPUnit 5.4.2
In der Zwischenzeit sind bereits die beiden Minor-Versionen PHPUnit 5.4.1 und PHPUnit 5.4.2 erschienen. In PHPUnit 5.4.1 wurde PHPUnit_Framework_TestCase::getMockBuilder()
von protected
zu public
geändert. Die JUnit-XML-Logfile-Formatänderung wurde in PHPUnit 5.4.2 wieder zurückgenommen, um die Abwärtskompatibilität wiederherzustellen.
PHPUnit 5.4.2 has been released: https://t.co/6MZtsAnqBx — This reverts the JUnit XML logfile format change. Sorry about breaking BC 🙁
— PHPUnit (@phpunit) 3. Juni 2016
Installation und Ausblick
PHPUnit 5.4.0 benötigt mindestens PHP 5.6. Installieren lässt sich die aktuelle Version über den Composer. Für Nutzer, die es gerne etwas einfacher hätten, steht das PHP Archive (PHAR) zur Verfügung. Die Datei muss lediglich heruntergeladen, ausgeführt und im entsprechenden Pfad abgelegt werden.
Die nächste Version von PHPUnit, PHPUnit 5.5, soll am 4. August erscheinen. Gemäß des Release-Prozesses wird PHPUnit 5 bis einschließlich 2. Februar 2018 Bug-Fixes erhalten.
Webperformance und Page Speed 2021
mit Sven Wolfermann (maddesigns)
UX Design: Kitsch – du willst es doch auch!
mit Lutz Schmitt (Lutz Schmitt Design & Consulting)
SEO loves PR: Wie zwei Disziplinen gemeinsam erfolgreich sein können
mit Anne Kiefer (sexeedo GmbH)
Aufmacherbild: type spelling the word news on a vintage typewriter von Shutterstock / Urheberrecht: stocksolutions