TDD in the Age of AI: Who Tests the Tests?
I use Codex and Pi daily. They write code faster than I can read it. Lines appear on my screen in seconds that would have taken me twenty minutes to type.
TDD, domain modelling, and the boundaries that make code safer to change.
8 published entries
These series give this subject an intentional reading order.
A path through tests, boundaries, and the design decisions that make code safer to change.
See the 8-part reading order →I use Codex and Pi daily. They write code faster than I can read it. Lines appear on my screen in seconds that would have taken me twenty minutes to type.
Every production Node app has seen an Unhandled Exception crash the process. If exceptions are so great, why does every function have an invisible contract that says “I might throw, good luck figuring out what”?
I once spent three hours debugging a test that was 80% mock setup.
The previous articles — Value Objects & Entities and Aggregates & Repositories in TypeScript in particular — made a few choices without naming them: Order owns its lines, only OrderRepository persists them, and a customer appears in an order as an ID rather than as a loaded object.
Transactional repository updates and optimistic concurrency overview
TypeScript DDD aggregate and repository overview
Value Object and Entity overview
Three years ago, I had a crisis of confidence with test-driven development.