Testable Architecture: Keep 'em Separated
summary
Separating IO from domain logic yields fast, deterministic tests that run in under a second when purely in-process, and move slow fragile tests (terminal I/O, databases, HTTP) into small adapters. Examples use Java, Spring, H2, Kafka, SendGrid and Zoom, refactor a commandβline menu into a compute receipt core, and show a working mob programming app with hexagonal architecture and ports and adapters; mocking is minimized and adapters are tested separately.
AI-written summary Β· about
chapters (11)
- 0:00Introduction
- 1:33Fast test feedback matters
- 3:18Layers versus tiers
- 4:02Separating business logic from IO
- 6:52Clean architecture principles
- 9:43Refactoring for testability
- 13:18Hexagonal architecture
- 17:31Domain-driven design
- 20:27Testing adapters and domain
- 22:13Ports and adapters example
- 24:42Trade-offs in testable architecture
related talks
21mTestable Architecture: Keep 'em Separated
51mA testable architecture
30mMastering Testing in a Hexagonal Architecture
47mThe Grand Unified Theory of Clean Architecture and Test Pyramid
53mThe Grand Unified Theory of Clean Architecture and Test Pyramid
44mHow Testability Supports Your Agility
47mTestable Architecture: How to Build High-Quality Software and Ship Fast
50mThe Grand Unified Theory of Clean Architecture and Test Pyramid
