Testen von PHP-Anwendungen: von Unit-Tests bis CI/CD
Testen von PHP-Anwendungen: von Unit-Tests bis CI/CD
Zusammenfassung:
Moderne PHP-Entwicklung ist ohne qualitativ hochwertiges Testen nicht möglich. Dieses Buch ist ein praktischer Leitfaden, der Sie von den Grundlagen des Schreibens einfacher Unit-Tests bis zum Aufbau einer vollständigen CI/CD-Pipeline führt. Sie lernen nicht nur, Tests zu schreiben, sondern sie nützlich, wartbar und schnell zu machen.
Worum geht es in diesem Buch?
Das Buch deckt alle wichtigen Aspekte des Testens von PHP-Anwendungen ab:
- Unit-Testing mit PHPUnit: Von der Installation und Konfiguration bis zu fortgeschrittenen Techniken wie parametrisierten Tests, Data-Providern und dem Testen von Exceptions.
- Mock-Objekte und Stubs: Lernen Sie, den zu testenden Code von externen Abhängigkeiten (Datenbanken, APIs, Dateisystem) zu isolieren. Sie werden Prophecy und Mockery kennenlernen.
- Integrationstests: Testen der Interaktion mit Datenbanken (MySQL, PostgreSQL), Redis, externen Diensten und Symfony/Laravel-Komponenten.
- Test-Driven Development (TDD): Meistern Sie den "Rot-Grün-Refactoring"-Zyklus anhand realer Beispiele. Verstehen Sie, wie TDD die Code-Architektur verbessert.
- Funktionale und Akzeptanztests: Einsatz von Codeception und Behat zum Testen von HTTP-Anfragen, Formularen, APIs und der Benutzeroberfläche.
- CI/CD und Automatisierung: Einrichtung von GitHub Actions, GitLab CI oder Jenkins für automatische Testausführung bei jedem Push. Integration mit Code Coverage (Codecov, Scrutinizer).
Für wen ist dieses Buch?
- Junior- und Middle-PHP-Entwickler, die keine Angst mehr vor Refactoring haben und zuverlässigen Code schreiben möchten.
- Senior-Entwickler, die ihr Wissen systematisieren und bewährte Testpraktiken im Team einführen möchten.
- Team-Leads und Architekten, die eine Qualitätskultur aufbauen und Code-Überprüfungsprozesse automatisieren möchten.
- Alle, die Frameworks (Laravel, Symfony, Yii2) verwenden und deren Komponenten korrekt testen möchten.
Was werden Sie nach der Lektüre wissen?
- Wie man saubere, isolierte und schnelle Tests schreibt, die nicht durch Umgebungsänderungen kaputtgehen.
- Wie man die richtige Teststrategie für Ihr Projekt auswählt (Testpyramide, Ockhams Rasiermesser).
- Wie man Legacy-Code testet, ohne ihn komplett umschreiben zu müssen.
- Wie man Fixtures, Factories und Seeder zur Datenvorbereitung einsetzt.
- Wie man Code-Coverage-Berichte einrichtet und Werte von 80 %+ ohne Fanatismus erreicht.
- Wie man Tests in den Entwicklungsprozess integriert: Code-Review, Pre-Commit-Hooks, automatisches Deployment.
Das Buch enthält zahlreiche Praxisbeispiele, gebrauchsfertige Snippets und reale Anwendungsfälle aus der Produktion. Alle Beispiele wurden mit PHP 8.1+ und den aktuellen Versionen von PHPUnit 10/11, Codeception 5, Laravel 11 und Symfony 7 getestet.
Machen Sie Ihre PHP-Anwendung zuverlässig und den Entwicklungsprozess vorhersagbar. Beginnen Sie noch heute mit professionellem Testen!