Schnell, einfach & verlässlich?

Intuitive PHP-Unit-Tests mit Atoum
Kommentare

Wie die Zeit verfliegt… Drei Jahre ist es bereits her, seit wir das Testing Framework Atoum vorgestellt haben. Seit Version 0.0.1 hat sich eine Menge getan. Es ist also an der Zeit, einen zweiten Blick darauf zu werfen.

Wer schon einmal Unit Tests in PHP durchgeführt hat, ist dabei mit großer Wahrscheinlichkeit nicht um PHPUnit herumgekommen. Warum das so ist liegt auf der Hand: Es hat sich lange bewährt. Vor nunmehr 13 Jahren begann das Framework seinen bis heute anhaltenden Siegeszug in der PHP-Welt. Nichtsdestotrotz gibt es immer wieder Versuche, den alteingesessenen Silberrücken aus seinem Revier zu vertreiben.

Atoum im Überblick

Bei Atoum handelt es sich um ein PHP-Unit-Test-Framework mit Abwärtskompatibilität bis PHP 5.3. Mittels eines modernen und intuitiven Syntaxansatzes sollen Tests schneller zu schreiben, leichter zu lesen und generell übersichtlicher gemacht werden (Abb. 1). Die Nähe zur gesprochenen Sprache ist dabei sicherlich der auffälligste Punkt im Vergleich zu anderen Programmier- und Testsprachen, und soll ab Minute eins für gute User Experience und einen schnellen Einstieg sorgen.

Dank der vereinfachten Syntax und cleveren Nutzung anonymer Funktionen und Closures sollen Mocks bzw. Stubs zudem ebenfalls leichter zu implementieren sein.

Der Fokus liegt beim Testen

Um den Isolationskriterien spezifischer Klassen gerecht zu werden, führt Atoum jeden Test per Default in separaten Prozessen aus. Besonderer Wert wird dabei laut Hersteller auf die beanspruchte Arbeitsspeicherlast gelegt, sodass trotz niedriger Belastung schnelle Abarbeitungszeiten garantiert werden könnte.

Selbstverständlich darf in aktiver Nutzung zudem das Feedback nicht fehlen. Unit Test Execution Reports können entsprechend im Xunit-Format ausgegeben werden, was eine Kompatibilität mit Continuous-Integration-Tools wie Jenkins, Hudson oder TravisCI ermöglicht. Code Coverage Reports können im Terminal oder graphisch im Browser dargestellt und bis hin zu prozentualen Coverage-Werten einzelner Funktionen begutachtet werden.

Wer möchte kann die einzelnen Report-Outputs noch nach belieben anpassen, aber eine funktionale Notwendigkeit besteht dazu nicht.

Go for PHP Developers

mit Terrence Ryan (google)

Everything you need to know about PHP 7.2

mit Sebastian Bergmann (thePHP.cc)

Installation

„Innerhalb von 5 Minuten einsatzbereit“ – das ist das von Atoum gegebene Versprechen. Über den PHP-Paketmanager Composer oder ein einzelnes PHAR-Archiv lässt sich das Framework in neue oder existierende Projekte integrieren. Und damit kann es eigentlich direkt losgehen.

Auf Github garantiert der master permanente Stabilität, die mit eigens in Atoum geschriebenen Tests gewährleistet werden soll.

Fazit

Atoum ist es wert, einen Blick darauf zu werfen. Vielleicht nicht so sehr, wenn man mit PHPUnit zufrieden und eingearbeitet ist, aber für Testneulinge oder PHPUnit-Kritiker ist mindestens der neue Syntaxansatz sicherlich eine Alternative. Wie Intuitiv dieser am Ende allerdings wirklich ist, muss jeder für sich selbst entscheiden.

Name Atoum
Hersteller Frédéric Hardy
Projektwebsite http://atoum.org/
GitHub https://github.com/atoum/
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -