Coverage Example
Iteratively add tests until coverage threshold is met.
Example: Coverage Improvement Loop
Iteratively add tests until coverage threshold is met.
Scenario
Your code coverage is below target and you want Al to keep adding tests until coverage meets the threshold.
Basic Coverage Target
/ralph "Add tests to reach 80% code coverage" \
--completion "npm run coverage shows line coverage >= 80%" \
--max-iterations 20
With Jest Coverage Threshold
/ralph "Add unit tests until 80% coverage" \
--completion "npm test -- --coverage --coverageThreshold='{\"global\":{\"lines\":80,\"branches\":70}}'" \
--max-iterations 25
Specific Module Coverage
/ralph "Add tests for src/auth/ to reach 90% coverage" \
--completion "npm test -- --coverage --collectCoverageFrom='src/auth/**/*.ts' shows >= 90%"
Python Coverage
/ralph "Add pytest tests to reach 80% coverage" \
--completion "pytest --cov=src --cov-fail-under=80" \
--max-iterations 20
Coverage + Tests Pass
/ralph "Add tests until 80% coverage, ensuring all tests pass" \
--completion "npm test -- --coverage --coverageThreshold='{\"global\":{\"lines\":80}}' passes"
Iteration Example
Iteration 1 (Starting: 45%):
- Analyzes uncovered code
- Adds tests for main utility functions
- Result: 52% coverage
Iteration 2:
- Adds tests for auth module
- Result: 61% coverage
Iteration 3:
- Adds tests for API handlers
- Result: 68% coverage
Iteration 4:
- Adds edge case tests
- Result: 74% coverage
Iteration 5:
- Adds error handling tests
- Result: 79% coverage
Iteration 6:
- Adds final corner cases
- Result: 82% coverage - SUCCESS!
Expected Output
═══════════════════════════════════════════
Agent Loop: SUCCESS
═══════════════════════════════════════════
Task: Add tests to reach 80% code coverage
Status: SUCCESS
Iterations: 6
Duration: 18m 45s
Verification:
$ npm test -- --coverage
Coverage Summary:
Lines: 82.3%
Branches: 76.1%
Functions: 85.2%
Tests: 67 passed, 67 total
Files modified: 12
- test/utils.test.ts (new)
- test/auth/login.test.ts (expanded)
- test/auth/logout.test.ts (new)
- test/api/users.test.ts (expanded)
- ... (8 more test files)
Report: .aiwg/ralph/completion-2025-01-15T09-15.md
═══════════════════════════════════════════
Tips
- Coverage improvement is iterative by nature - expect 15-25 iterations
- Set realistic thresholds (going from 20% to 80% takes many iterations)
- Include branch coverage for more thorough testing
- Focus on specific modules if overall coverage is too broad
- Consider using `--timeout 120` for longer coverage loops