Coverage Requirements
This document outlines the code coverage requirements and reporting for Gofannon.
Coverage Thresholds
| Metric | Minimum |
|---|---|
| Lines | 95% |
| Functions | 95% |
| Branches | 95% |
| Statements | 95% |
Running Coverage Reports
Frontend (Vitest)
cd webapp/packages/webui
pnpm test:coverage
# Open ./coverage/index.html in browser
Backend (pytest)
cd webapp/packages/api/user-service
python -m pytest tests/unit --cov=. --cov-report=html
# Open ./htmlcov/index.html in browser
All Coverage
cd webapp
pnpm test:coverage
Report Formats
Coverage is generated in multiple formats:
- HTML - Interactive browser reports
- XML - For CI/CD integration
- LCOV - For Codecov uploads
Codecov Integration
Coverage data is automatically uploaded to Codecov on CI runs. View reports at:
- PR coverage diffs
- Historical coverage trends
- Per-file coverage breakdown
Excluding Files from Coverage
Frontend (vitest.config.ts)
coverage: {
exclude: ['**/node_modules/**', '**/test/**']
}
Backend (.coveragerc)
[run]
omit =
tests/*
*/__pycache__/*