- During implementation (write tests before code)
- When verifying step completion
Process
- Specify tests first - Define inputs, expected outputs, edge cases
- Write test code - Create automated tests matching specification
- Implement production code - Write code that passes the tests
- Verify - Run tests and confirm all pass
Test Categories
- Unit tests: Isolated function/method testing
- Integration tests: Cross-component interaction testing
- Manual verification: Human-performed checks when automation is impractical
Key Rules
- Never combine test writing and implementation into a single step
- Every task with code changes must have associated tests
- Tests must be runnable and produce clear pass/fail results
- Edge cases must be explicitly considered
Tool Use
Integrated into methodologies/rpikit/rpikit-plan and methodologies/rpikit/rpikit-implement