TDD ist nicht gleich TDD: die „London School of TDD“ mit Vertretern wie Steve Freeman und Nat Pryce stellt die Interaktionen der Objekte untereinander in den Fokus und ermöglicht durch starken Mocking-Einsatz, diese isoliert Unit-testen zu können. Mit dem zum Einsatz kommenden "Outside-In" Design erzielen die "Mockists" dabei zudem ein sehr passgenaues Design. Im Gegensatz dazu versucht die „Chicago School of TDD“ wenn irgendmöglich Mocks zu vermeiden. Diese sogenannten "Classicists" wie z.B. Kent Beck oder Uncle Bob setzen mehr auf „state based testing“ und verzichten mit integrierteren Tests zugunsten einer besseren Refaktorierbarkeit auf Isolation.
Was macht beide Ansätze aus und für welche Probleme eignen sich die jeweiligen Ansätze besser?