27 lines
895 B
Markdown
27 lines
895 B
Markdown
# TDD Skill
|
|
|
|
## Iron Law
|
|
|
|
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST.
|
|
|
|
## Red phase
|
|
|
|
- Write exactly one test. One behavior. Name must describe the behavior clearly.
|
|
- Run the test suite. Confirm the test FAILS.
|
|
- If the test passes immediately: it tests existing behavior or is vacuous.
|
|
Return status "fail" with message explaining why the test is wrong.
|
|
- Do not write any implementation code in this phase.
|
|
|
|
## Green phase
|
|
|
|
- Write the minimal code to make the failing test pass. Nothing more.
|
|
- YAGNI: no extra parameters, no future-proofing, no clever abstractions.
|
|
- Run the test suite. Confirm it PASSES.
|
|
- If tests fail: fix the implementation, not the test. Max 3 attempts.
|
|
|
|
## Refactor phase
|
|
|
|
- Improve structure, naming, or clarity only. No new behavior.
|
|
- Tests must remain green after every change.
|
|
- If tests break during refactor: revert that change, return status "fail".
|