| name | write-failing-test-first |
| description | Before fixing any bug, write a test that reproduces it and watch it fail. Use for every bug fix. |
| when_to_use | fixing a bug, "make X work", a reported defect |
Write the Failing Test First
The only proof you fixed a bug is a test that failed before and passes after.
- Write the smallest test that reproduces the reported behavior.
- Run it. Watch it fail for the right reason (read the assertion, not just red).
- Now fix the code.
- Run the test. It passes. Run the FULL suite — you didn't break anything else.
If you can't write the test easily, the architecture is telling you something (tight coupling). Say so.
Never: fix first, test after (you'll write a test that passes regardless). Never: skip the watch-it-fail step.