© istockphoto.com/KeithBishop
PHP Magazin
PHPUnit 6 kam mit vielen Neuerungen - und einigen Problemen

„PHPUnit 6 setzt lange gehegte Wünsche um.“

PHPUnit 6.0.0 wurde veröffentlicht. Es ist die erste Version des Testing-Frameworks, das voll und ganz auf PHP 7.x setzt und den Support für PHP 5.x über Bord fallen lässt. Doch das Release hatte so seine Tücken …

Sebastian Bergmann


Freitag, der 3. Februar 2017, war zunächst ein guter Tag: Sebastian Bergmann hatte PHPUnit 6 veröffentlicht. Kurz darauf war es, als würden „Millionen von Tests aufschreien und für immer verstummen“. Nanu? An Bord der neuen Major-Version des Testing-Frameworks waren zahlreiche neue Features; auf der Strecke geblieben ist der Support von PHP 5. Es schien, als stünden alle Zeichen uneingeschränkt auf Zukunft. Doch dann passierte etwas Eigenartiges.

Innerhalb kürzester Zeit gab es via Twitter zahlreiche Beschwerden über failende Tests. Symfony-Applikationen wollten nicht mehr, Travis zeigte die rote Flagge. Was war geschehen? Wer die Signale aus den sozialen Netzwerken beobachtete, konnte sich nur wundern. Denn neben enttäuschten Usern tummelten sich auch viele, die das neue Release und dessen Performancegewinn feierten.

Um der Sache auf den Grund zu gehen, haben wir mit Sebastian Bergmann über die Situation gesprochen. Und wie sich herausstellte, waren die „Probleme“ vielschichtiger als gedacht. Offensichtlich sind selbst lange vor dem Release veröffentlichte Ankündigungen manchmal nicht genug, um Konfusion zu vermeiden.

PHPUnit 6 – das InterviewPHP Magazin: Sebastian, nach dem Release von PHP­Unit 6 gab es auf Twitter schnell vereinzelte Beschwerden über Probleme mit den Tests; viele Dinge schienen aber auf unterschiedlichen Ebenen zu passieren. Welche Ebenen waren das – was genau ist passiert?Sebastian Bergmann: Puh. Da ist ganz viel auf einmal passiert. PHPUnit 6.0 unterstützt nur PHP 7.0 und PHP 7.1, funktioniert also nicht mehr mit PHP 5. Versucht man, PHPUnit 6.0 mit PHP 5 auszuführen, dann bekommt man natürlich einen Fehler.Die neue Major-Version setzt einen von der PHP-Community lange gehegten Wunsch um, nämlich, dass der Code von PHPUnit Namespaces benutzt. PHP­Unit_Framework_TestCase gibt es nicht mehr, Testklassen müssen nun von PHPUnit\Framework\TestCase erben.In PHPUnit 6.0 ändern sich darüber hinaus zwei Standardeinstellungen, was bei mancher Testsuite da draußen zu Problemen geführt hat. Zum einen meckert PHPUnit nun standardmäßig Tests an, die nichts testen – also keine Assertion aufrufen, nicht mit expect­Exception() oder @expectedException eine Ausnahme erwarten oder Erwartungen auf einem Mock-Objekt konfigurieren. Tests, die zwar meiner Meinung nach wertlos und damit riskant sind, von PHPUnit 5.7 aber standardmäßig nicht kritisiert wurden, werden nun also standardmäßig anders interpretiert.Zum anderen erstellt PHPUnit nicht mehr vor jedem ...

PHP Magazin
PHPUnit 6 kam mit vielen Neuerungen - und einigen Problemen

„PHPUnit 6 setzt lange gehegte Wünsche um.“

PHPUnit 6.0.0 wurde veröffentlicht. Es ist die erste Version des Testing-Frameworks, das voll und ganz auf PHP 7.x setzt und den Support für PHP 5.x über Bord fallen lässt. Doch das Release hatte so seine Tücken …

Sebastian Bergmann


Freitag, der 3. Februar 2017, war zunächst ein guter Tag: Sebastian Bergmann hatte PHPUnit 6 veröffentlicht. Kurz darauf war es, als würden „Millionen von Tests aufschreien und für immer verstummen“. Nanu? An Bord der neuen Major-Version des Testing-Frameworks waren zahlreiche neue Features; auf der Strecke geblieben ist der Support von PHP 5. Es schien, als stünden alle Zeichen uneingeschränkt auf Zukunft. Doch dann passierte etwas Eigenartiges.

Innerhalb kürzester Zeit gab es via Twitter zahlreiche Beschwerden über failende Tests. Symfony-Applikationen wollten nicht mehr, Travis zeigte die rote Flagge. Was war geschehen? Wer die Signale aus den sozialen Netzwerken beobachtete, konnte sich nur wundern. Denn neben enttäuschten Usern tummelten sich auch viele, die das neue Release und dessen Performancegewinn feierten.

Um der Sache auf den Grund zu gehen, haben wir mit Sebastian Bergmann über die Situation gesprochen. Und wie sich herausstellte, waren die „Probleme“ vielschichtiger als gedacht. Offensichtlich sind selbst lange vor dem Release veröffentlichte Ankündigungen manchmal nicht genug, um Konfusion zu vermeiden.

PHPUnit 6 – das InterviewPHP Magazin: Sebastian, nach dem Release von PHP­Unit 6 gab es auf Twitter schnell vereinzelte Beschwerden über Probleme mit den Tests; viele Dinge schienen aber auf unterschiedlichen Ebenen zu passieren. Welche Ebenen waren das – was genau ist passiert?Sebastian Bergmann: Puh. Da ist ganz viel auf einmal passiert. PHPUnit 6.0 unterstützt nur PHP 7.0 und PHP 7.1, funktioniert also nicht mehr mit PHP 5. Versucht man, PHPUnit 6.0 mit PHP 5 auszuführen, dann bekommt man natürlich einen Fehler.Die neue Major-Version setzt einen von der PHP-Community lange gehegten Wunsch um, nämlich, dass der Code von PHPUnit Namespaces benutzt. PHP­Unit_Framework_TestCase gibt es nicht mehr, Testklassen müssen nun von PHPUnit\Framework\TestCase erben.In PHPUnit 6.0 ändern sich darüber hinaus zwei Standardeinstellungen, was bei mancher Testsuite da draußen zu Problemen geführt hat. Zum einen meckert PHPUnit nun standardmäßig Tests an, die nichts testen – also keine Assertion aufrufen, nicht mit expect­Exception() oder @expectedException eine Ausnahme erwarten oder Erwartungen auf einem Mock-Objekt konfigurieren. Tests, die zwar meiner Meinung nach wertlos und damit riskant sind, von PHPUnit 5.7 aber standardmäßig nicht kritisiert wurden, werden nun also standardmäßig anders interpretiert.Zum anderen erstellt PHPUnit nicht mehr vor jedem ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang