TDD on the Shoulders of Giants
summary
Argues that London-style TDD’s concrete practices translate to Ruby by using RSpec doubles and custom matchers, Ruby 3.2 data classes for value objects, and FactoryBot for complex test fixtures. Demonstrates a shipped example: a shipment notifier wired into a Ship class with expectations moved out of before blocks so tests follow arrange act assert. Claims the rule “never add functionality without a failing test” improves design, warns excessive global stubbing makes suites brittle, and shows these techniques keep tests fast, focused, and more maintainable.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:28TDD styles compared
- 7:06Core TDD rules
- 9:13Mocking in Ruby vs Java
- 11:36Object composition
- 14:06Arrange-Act-Assert
- 16:35Value objects
- 20:46Legacy Ruby testing
- 22:54Learning from test failures
- 26:03Summary








