Schnell, einfach & verlässlich?

Intuitive PHP-Unit-Tests mit Atoum
Keine 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.

International PHP Conference

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)

IT Security Camp 2021

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.

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

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -