🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
Further reading 1
Caption notes
In this historical talk, Ian Cooper reflects on tests coupled to internal implementation: refactoring forced him to change tests too, so green results did not necessarily give him enough confidence. He advocates starting with consumer-visible behavior and interface promises, treating the test as the first consumer of the code and checking in the red phase that it fails without a correct implementation. In his account, isolation first prevents tests from interfering with one another. Replacing external dependencies such as databases depends on shared state, speed and the particular boundary, rather than requiring every internal object to be mocked. He also distinguishes behavior-preserving refactoring from adding behavior, and temporary implementation probes from regression protection. This guide presents his experience and methodological claims; personal defect-rate and timing anecdotes do not establish universal benefits. Code, diagrams and demonstration visuals have not been verified.
Archived captions (transcription method unspecified) ↗Original passages · 2
the test becomes the first consumer of your codemy test will fail in the absence of correct implementation