A Safety Net Before Refactoring: Characterization Tests, Approval Testing and Finding Blind Spots
Before refactoring untested legacy code you need to record today's behavior with characterization tests and approval testing; but you can't trust the net until coverage and deliberate mutations show it really protects you. The post approves an untested InvoiceRenderer with Verify, fixes date and culture breakages with scrubbers, and shows with real output how two mutations survived despite a 48-combination snapshot and 100 percent coverage.
14 Nov 2026
·
12 min
·
2