2.1 KiB
2.1 KiB
name, description
| name | description |
|---|---|
| testing | Validates test coverage and quality by checking behavior focus, identifying gaps, and ensuring >80% statement coverage. Use when task file is in testing/ directory and requires test validation before marking complete. Adds minimal tests for genuinely missing edge cases. |
Testing
Given task file path .plans/<project>/testing/NNN-task.md:
Process
Use TodoWrite to track testing validation:
☐ Validate existing tests (behavior-focused?)
☐ Check coverage of Validation checklist items
☐ Identify gaps (empty/null, boundaries, errors)
☐ Add tests for genuine gaps
☐ Run coverage (>80% statements, >75% branches)
☐ Update task status
- Validate existing tests - behavior-focused? Covers Validation?
- Identify gaps - empty/null inputs, boundaries, errors, race conditions, security
- Add minimal tests if genuinely missing
- Run coverage - verify >80% statements, >75% branches
- Update task status using Edit tool:
- Find:
**Status:** [current status] - Replace:
**Status:** COMPLETED
- Find:
- Append testing notes:
cat >> "$task_file" <<EOF **testing:** Validated [N] tests (behavior-focused) Added [M] edge cases: - [Test description] - [Test description] Test breakdown: Unit: X | Integration: Y | Total: Z Coverage: Statements: XX% | Branches: XX% | Functions: XX% | Lines: XX% Full suite: XXX/XXX passing Working Result verified: ✓ [description] COMPLETED EOF - Report completion
Test Quality
Good: expect(response.status).toBe(401) (tests behavior)
Bad: expect(bcrypt.compare).toHaveBeenCalled() (tests implementation)
Granularity: Pure functions → Unit | DB/API → Integration | Critical workflows → E2E (rare)
Failure Handling
If tests fail or coverage <80%:
- Fix test scenarios first
- If code bug found:
- Update status using Edit tool: Find
**Status:** [current status]→ Replace**Status:** NEEDS_FIX - Append notes:
cat >> "$task_file" <<EOF **testing:** Found issues: - [Specific issue] - [Specific issue] Requires code fixes. Moving back to implementation. EOF
- Update status using Edit tool: Find