Zum Hauptinhalt Zur Navigation

PHPUnit 3.3 veröffentlicht

Test-Framework unterstützt Behavior-Driven-Development. PHPUnit-Gründer Sebastian Bergmann stellt eine neue Version des Test-Frameworks PHPUnit für PHP-Anwendungen bereit. Sie unterstützt Behavoir-Driven-Development und macht Code-Coverage-Analysen schneller und übersichtlicher.
/ Alexander Merz
Kommentare News folgen (öffnet im neuen Fenster)

Behavior-Driven Development(öffnet im neuen Fenster) zielt darauf ab, konkrete Abläufe mit ihren Anforderungen und Ergebnissen ("Stories") zu beschreiben und Programmteile anhand dieser Abläufe zu testen. Die Beschreibung erfolgt mit Hilfe zuvor festgelegter umgangssprachlicher Sätze. Jeder Satz repräsentiert eine zu erfüllende Bedingung oder einen Test.

Durch die Kombination von Sätzen wird der Ablauf einerseits umgangssprachlich formuliert, andererseits kann ein Test automatisiert ausgeführt werden. Dadurch können Testabläufe auch von Nichtprogrammierern erstellt werden.

Code Coverage(öffnet im neuen Fenster) hilft, im Auge zu behalten, welche Anteile des Quellcodes von Testfällen berücksichtigt werden. Im Idealfall sollte die Code Coverage 100 Prozent betragen – also alle Codezeilen eines Programms von Testfällen abgedeckt werden. Dazu wird während der Ausführung von Tests der Quellcode der zu testenden Anwendung entsprechend analysiert.

Das wirkt sich aber negativ auf die Ausführungsgeschwindigkeit des Testes aus. Deshalb erlaubt PHPUnit nun über Annotions zu bestimmen, welche Methoden bei der Code-Coverage-Analyse beachtet werden sollen, zum Beispiel nur die öffentlich sichtbaren Methoden einer Klasse.

Des Weiteren wurde die Unterstützung von Selenium(öffnet im neuen Fenster) überarbeitet und verbessert. Selenium dient für automatisierte Tests der Oberfläche von Webanwendungen über einen Internetbrowser.

Eine vollständige Liste der korrigierten Fehler und Verbesserungen findet sich im Changelog(öffnet im neuen Fenster) .

Für PHPUnit 3.4 kündigte Sebastian Bergmann an, dass Tests in einem jeweils eigenen PHP-Prozess ausgeführt werden können, so dass ein fataler Fehler in einem Test nicht mehr einen kompletten Testlauf stoppt und die Testausführung schneller wird.

Außerdem sollen die Muster der Hamcrest-Bibliothek(öffnet im neuen Fenster) integriert werden – ein Projekt zur einheitlichen Definition von erwarteten Testergebnissen. Langfristig soll PHPUnit einem kompletten Refactoring(öffnet im neuen Fenster) unterzogen werden und die parallele Ausführung von Testläufen erlauben. Die Beschleunigung der Testdurchführung ist ein wichtiges Ziel bei der Weiterentwicklung von PHPUnit. Mit PHPUnit 4 ist aber frühestens im Laufe des Jahres 2009 zu rechnen.

PHPUnit kann via Pear(öffnet im neuen Fenster) installiert werden.


Relevante Themen