Testing mit
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.
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 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:
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.
Mehr zum Laravel Meetup
Laravel DACH Meetup
Laravel Scout
Beim Laravel DACH Meetup im Mai widmete sich Jure Knezovic einer einfachen, treiberbasierten Lösung für Volltextsuchen in Eloquent-Models.
Laravel DACH Meetup
Laravel Telescope und Version 9.0
Pünktlich zum Frühlingsbeginn im März starteten wir mit unseren beiden Speakern Marcel Wege und Joshua Blum in die Meetup-Saison 2022. Die Recap findet ihr hier.
Du möchtest auch einmal
Speaker:in werden bei unserem Meetup?
jetzt Kontakt aufnehmen