Programm
Testing ohne Mocks - TDD im Portland-Style
Die Portland-Schule der testgetriebenen Entwicklung (TDD) von James Shore beruht auf einer Reihe von Mustern und Konzepten, die zusammen eine eigene Pattern-Language bilden. Zentral ist dabei die Möglichkeit, externe Abhängigkeiten ganz ohne den Einsatz von Mocks, Stubs oder vergleichbaren Hilfsmitteln zu testen. Das Ergebnis sind Tests, die die Vorteile fokussierter Unit-Tests mit denen breit angelegter Integrationstests kombinieren. Der Verzicht auf Mocks vereinfacht das spätere Code-Refactoring erheblich, da die Tests weniger stark an den Production-Code gekoppelt sind. Möglich machen das sogenannte Nullables, die ihrerseits aber ein schmutziges Geheimnis bergen.
In diesem Talk werden wir keine Mühe scheuen, das „schmutzige Geheimnis“ der Nullables bloßzustellen. Gleichzeitig lernst Du von den Vorteilen dieses Vorgehens zu profitieren und erhältst einen Überblick über die wichtigsten Konzepte dieser neuen Schule - eine Schule die ungewöhnliche, gewagte Wege geht und klassische Praktiken bewusst in Frage stellt!
Vorläufige Agenda
- Einführung in TDD-Schulen
- Vorstellung der Pattern-Language und Terminologie der Portland School (z.B. Narrow vs. Broad)
- Vor- und Nachteile integrativer Unit-Tests (und das Beste aus beiden Welten)
- Vor- und Nachteile von Test Doubles (Mocks, Stubs, …)
- Das Nullable-Pattern
Martin Grandrath
codecentricMartin ist Senior Consultant und Developer bei codecentric. Seitdem er vor 25 Jahren seine erste HTML-Seite erstellt hat, haben ihn die Faszination und die Leidenschaft für das Web nicht mehr losgelassen. Neben Full-Stack-Entwicklung stehen insbesondere Web-Performance und Accessibility in seinem Fokus. Erholung und Ausgleich findet er beim Wandern durch die Natur. Er ist unter linkedin.com/in/martin-grandrath zu finden.
Ferdinand Ade
codecentricFerdi ist ein Entwickler und Berater bei codecentric. Er kümmert sich um Software Craft und Qualität und ist ein Fan von Pairing / Ensemble-Arbeit, um die Chancen zu erhöhen. Ferdi ist Mitveranstalter des Software Craft Leipzig Meetup und glaubt, dass man neue Fähigkeiten und Techniken nur durch praktische Erfahrungen erlernen kann.