tdd-london-chicago
Implement professional TDD workflows using London (mock-based) and Chicago (state-based) schools to drive design through test-first development.
Introduction
The tdd-london-chicago skill provides an expert-level framework for practicing Test-Driven Development (TDD). It empowers software engineers to systematically apply the two primary schools of TDD: the London school, which focuses on interaction-based testing through mocks and stubs for isolated unit testing, and the Chicago school, which emphasizes state-based testing to verify observable outcomes against public APIs. By intelligently routing tasks to specialized agents like qe-test-generator, qe-test-implementer, and qe-test-refactorer, this skill enables a structured Red-Green-Refactor cycle that ensures code quality, maintainability, and design integrity from the very first line of code.
-
Automatically generates tests tailored to either the London or Chicago methodology based on the code architecture.
-
Orchestrates an iterative TDD cycle using specific sub-agents to handle test generation, implementation, and safe refactoring.
-
Provides clear guidance on style selection: choose Chicago for domain logic, value objects, and calculations; choose London for external service integrations, controllers, and complex collaborations.
-
Enforces strict design feedback loops where tests drive implementation, preventing over-engineering and ensuring that features are only built when covered by a failing test.
-
Integrates with the broader Agentic Quality Engineering fleet to maintain high coverage targets and perform quality gates.
-
Best practices include mocking only external dependencies while testing real domain objects to avoid 'mock-heavy' fragile test suites.
-
Inputs should define the target source code, desired test style, and specific feature goals.
-
Expected outputs include executable test files, minimal production code skeletons, and refactoring suggestions that preserve existing logic.
-
The tool is constrained by the necessity of a public API for state verification in the Chicago school and the need to avoid over-mocking internal implementation details to keep refactoring safe.
-
Ideal for senior engineers building complex services or teams mentoring developers on disciplined TDD practices and automated testing strategies.
Repository Stats
- Stars
- 329
- Forks
- 65
- Open Issues
- 4
- Language
- TypeScript
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- Apr 28, 2026, 12:35 PM