Die Voraussetzung war, dass Brad ein Abonnement-Abrechnungssystem erstellen musste, das regelmäßige Abrechnungen auslöst und auch den Kundendatensatz aktualisiert - unter Verwendung von C # und xUnit.net (Brads Testframework, das er mit Jim Newkirk erstellt hat). Für viele klingt das einfach. Für diejenigen, die so etwas implementiert haben - es ist alles andere als.
Das, was ich an dieser Episode wirklich sehr genossen habe, ist, dass ich Brad gerade so weit gedrängt habe, dass ich das „Demo-Furnier“ entfernt habe - ich habe ihm ungefähr 30 Minuten lang einen Curveball gegeben, in dem ich sagte: „Oh ja… habe ich erwähnt, dass wir auch X machen ? " - und er musste sich anpassen.
Wenn Sie eine Reihe von Tests haben, die eine Sache voraussetzen, müssen Sie zu einer anderen wechseln - es ist ein Schmerz im Arsch. Aber Brad hat es erstaunlich gut gemeistert - er nutzte die Gelegenheit, um mehr Struktur in seinen Testprozess zu bringen und dann nacheinander seine alten Tests in den neuen Ansatz umzuwandeln.
Wir haben die ganze Stunde in einer einzigen Codedatei gearbeitet - und das hatte noch nie jemand gesehen. Sicher, ich habe genau dort im Code eine Klasse erstellt - aber Brad dabei zuzusehen, wie er Klasse für Klasse hochfährt, dann umbenennt, dann löscht und dann seine Tests vollständig umstrukturiert… es war sehr, sehr interessant.
Sie sagen immer, TDD sei ein „Designprozess“ - aber ich habe noch nie gesehen, dass es wirklich „design-y“ verwendet wird -, als würde ein Maler Farbe für Farbe auf eine Leinwand werfen, bis es genau richtig aussieht / sich genau richtig anfühlt. Und genau so fühlte es sich an, ihn zu beobachten.
Ungefähr 15 Minuten in Brad wird erwähnt, dass „ich eine Klasse in der Testdatei belasse, bis sie veröffentlicht werden kann“ - was bedeutet, dass er über genügend Tests verfügt, um seine Entwurfsentscheidungen zu rechtfertigen. Ein Konzept, über das ich vorher noch nie wirklich nachgedacht hatte - so etwas wie die Verwendung der Testdatei als „Mutterleib“.
Er "tastete" sich durch die Schaffung des Abrechnungssystems - sprach die ganze Zeit mit sich selbst und schuf etwas ziemlich Interessantes und verdammt Nahes an dem, was wir nach fast 3 Jahren Leben hatten.