TDD (Test-Driven Development)
Applies TDD methodology: write tests first, then implement code.
TDD Cycle
RED -> GREEN -> REFACTOR -> REPEAT
RED: Write a failing test
GREEN: Write minimal code to pass the test
REFACTOR: Improve code (keeping tests passing)
REPEAT: Next feature/scenario
Procedure
Define Interface (SCAFFOLD)
- Define types/interfaces first
- Write function signatures
Write Tests (RED)
- Happy path
- Edge cases (empty values, null, max values)
- Error cases
Run Tests - Confirm Failure
npm test -- path/to/file.test.tsMinimal Implementation (GREEN)
- Only enough code to pass the tests
Refactor (REFACTOR)
- Improve code while keeping tests passing
Check Coverage
npm test -- --coverage- Target: 80% or higher
Precautions
- Write tests first (before implementation!)
- Write only one test at a time
- Always verify the test fails first
- Write only minimal code