TDD, London School

Details
Also known as

Mockist TDD, Outside-In TDD

Core Concepts:

Mock-heavy testing

Heavy use of test doubles (mocks, stubs) to isolate units

Outside-in development

Start from the outermost layers (UI, API) and work inward

Interaction-based testing

Focus on verifying interactions between objects

Behavior verification

Test how objects collaborate rather than state

Interface discovery

Use tests to discover and define interfaces

Walking skeleton

Build end-to-end functionality early, then fill in details

Key Proponents

Steve Freeman, Nat Pryce ("Growing Object-Oriented Software, Guided by Tests")

When to Use:

  • Complex systems with many collaborating objects

  • When designing APIs and interfaces

  • Distributed systems where integration is costly