Fallback Image
Fallback Image

Testing mit

Laravel PEST

Im Laravel DACH Meetup im Oktober beschäftigte sich unser Speaker Alexander mit Laravel PEST. Hier eine Zusammenfassung.

Bei unserem Meetup im Oktober drehte sich alles um das Thema Testing. Unser PHP-Entwickler Alexander setzte sich intensiv mit Laravel PEST auseinander und lieferte sowohl einige interessante Fakten zum Thema Testing allgemein als auch Einblicke in ein konkretes Projekt.

Warum lohnt sich Testing?

Bei PEST handelt es sich um ein PHP Testing Framework für Laravel. Aber warum ist Testing eigentlich so wichtig? Im Durchschnitt kreiert ein:e Entwickler:in bis zu 70 Bugs je 1.000 Zeilen Code (Quelle: Coralogix 2015). Davon finden 15 letzten Endes ihren Weg zum:r Kund:in. Dabei dauert das Fixen von Bugs bis zu 30-mal länger als das Schreiben von Code. Die meisten Entwickelnden werden dies aus ihrem Alltag kennen. Es ist daher nicht verwunderlich, dass Entwicklerinnen und Entwickler ungefähr 75% ihrer Zeit für das Beheben dieser Bugs verwenden, wodurch 1.500 Stunden im Jahr und ein entsprechendes Budget von 113 Milliarden allein in den USA verloren gehen. Dem kann durch Testing entgegengewirkt werden.

Weitere Vorteile von Testing sind eine höhere Qualität sowie einfachere Wartbarkeit des Codes. Außerdem kann Code hierdurch dokumentiert und neuen Entwickelnden der Einstieg in Projekte erleichtert werden. Auch die Ähnlichkeit von PEST zu weitverbreiteten Frontend-Testing-Frameworks wie Jest macht das Testen insbesondere für Beginner:innen einfacher. Zudem wird Boilerplate-Code reduziert, was die Tests übersichtlicher macht.

Trotz all dieser Vorteile wird in der Praxis das Testing leider häufig vernachlässigt, da das Entwickeln dadurch zeitintensiver wird und eine gewisse Erfahrung vorhanden sein muss.

PEST im Einsatz

PEST wurde von Nuno Maduro – Laravel Core Entwickler – entwickelt, um Testing einfacher und besser in den Alltag integrierbarer zu machen. 

Das Ganze wird einfach über einen Composer-Require-Befehl in ein Projekt integriert. Für Laravel sollte darüber hinaus das Laravel-Plugin für PEST installiert werden, was den Zugriff auf die Laravel spezifische Test-API ermöglicht. Während in PHPUnit Tests in Klassen geschrieben werden, verwendet man in PEST Funktionen. Diese akzeptieren zwei Argumente. Eine Zeichenkette, die den Test beschreibt und eine Closure mit der eigentlichen Testlogik.

Tests mit PEST lassen sich üblicherweise in drei Phasen einteilen:

  1. Prepare-Phase: alles Notwendige für den Test wird gesammelt.
  2. Ausführung: Der zu testende Code wird ausgeführt.
  3. Assertion: Passiert das, was erwartet wurde?

Zum Ausführen der Tests verwendet man den ./vendor/bin/pest Befehl oder in Laravel - php artisan test.

 

Den Mitschnitt des gesamten Meetups inklusive anschaulichem Beispiel-Projekt gibt’s im Video.

Fallback Image

Weitere nützliche Infos und Quellen zu PEST

Du möchtest auch einmal

Speaker:in werden bei unserem Meetup?

jetzt Kontakt aufnehmen