-
Notifications
You must be signed in to change notification settings - Fork 200
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed
Description
Overview
We need to add test coverage reporting and enforcement to our build process. This will help us maintain and improve code quality by ensuring adequate test coverage across the project.
Goals
- Integrate JaCoCo with our Gradle build
- Generate comprehensive test coverage reports
- Enforce minimum coverage thresholds
- Make reports easily accessible to developers
Implementation Details
- Add JaCoCo plugin to root
build.gradlefile - Configure JaCoCo for all subprojects
- Set up aggregate report generation
- Define coverage thresholds (suggest starting with 70% instruction coverage)
- Integrate coverage checks into our CI/CD pipeline
Specific Tasks
- Update root
build.gradleto include JaCoCo configuration - Create a
jacocoTestReporttask for each subproject - Create a
jacocoRootReporttask for aggregate reporting - Set up
jacocoTestCoverageVerificationwith appropriate rules - Update CI configuration to run coverage checks and fail builds if thresholds aren't met
- Determine how/where to publish reports (e.g., as build artifacts)
- Update documentation to explain how to run and interpret coverage reports
Next Steps
- Review and adjust proposed implementation details
- Assign developer(s) to the task
- Plan for gradual increase of coverage thresholds over time
Additional Notes
- We should consider excluding certain packages or classes if they're not suitable for unit testing
- We should discuss strategies for rolling this out without disrupting development (e.g., setting specific coverage requirement per module instead of global)
Resources
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed