Testen mit (und ohne) Abhängigkeiten
Warum die Unterscheidung zwischen Test Stubs und Mock Objects in PHPUnit die Qualität und Lesbarkeit von Tests deutlich verbessert.
Foto von Niels Luigjes
Am und war ich auf der SymfonyOnline. Dort habe ich den Vortrag „Testing with(out) dependencies“ gehalten.
This presentation clarifies effective strategies for using PHPUnit's test doubles to write robust, maintainable unit tests, highlighting practical techniques and common pitfalls to avoid.
Mehr InformationenIch bin Sebastian Bergmann. Im Jahr 2000 habe ich begonnen, PHPUnit zu schreiben, und pflege es bis heute. Im selben Jahr habe ich meinen ersten Vortrag auf einer PHP-Konferenz gehalten. Als Mitgründer von thePHP.cc unterstütze ich Teams in Schulungen und in Beratung und Coaching bei allem rund um PHPUnit, bei Quality Gates für die Arbeit mit LLM-basierten Coding-Agenten und bei Supply Chain Security.
Ich habe die PHP Foundation mit auf den Weg gebracht und bin Mitglied in ihrem Board. Außerdem habe ich die Interessen von Open Source bei der Europäischen Kommission vertreten und bin aktiv im Arbeitskreis Open Source der Gesellschaft für Informatik.
Wo du mich als Nächstes triffst, steht unter Veranstaltungen. Die nächsten Termine meiner Schulungen findest du in der Übersicht der Schulungen.
Warum die Unterscheidung zwischen Test Stubs und Mock Objects in PHPUnit die Qualität und Lesbarkeit von Tests deutlich verbessert.
Der any() Matcher ist deprecated. Aber die Migration ist einfacher, als du denkst – und führt zu besseren Tests.
Ich zeige dir, wie die Parameter Set Matcher von PHPUnit 13 endlich das Problem lösen, das das Upgrade auf PHPUnit 10 zu einer solchen Herausforderung gemacht hat.
Sich selbst sabotierende Mock Objects? Mit PHPUnit 12.5 gehört das der Vergangenheit an, denn der Test Runner schaut dir jetzt über die Schulter und stellt die richtige Frage: Brauchst du wirklich ein Mock Object, oder reicht ein Test Stub?
Du möchtest mit deinem Team besser testen? Ich unterstütze dich mit Beratung, Coaching und Schulungen.