I’m drafting my proposal for the “Integration Test Coverage” project. Looking at the current stats, I see low coverage in both Controller Classes (approx. 5.9%) and REST API Controllers (approx. 4.1%).
Could you please clarify whether the 60% coverage goal applies to both categories combined, or if there is a specific priority for REST API endpoints over legacy web controllers?
the 60% is for all categories !
2 Likes
Hi OpenELIS team,
I’ve opened a PR for PatientService integration test improvements:
https://github.com/DIGI-UW/OpenELIS-Global-2/pull/3206
What’s included:
- Expanded integration coverage in `PatientServiceTest`
- Added/updated tests for:
- patient identity lookup by sample status + project
- persist patient data flow (including contact creation)
- patient address insertion helper path
- FHIR UUID generation on insert
- Added focused DBUnit fixture data for the sample/project/patient identity query path
Validation:
- Ran targeted JUnit 4 tests for the new/updated scenarios
- Confirmed the previously failing patient identity test now passes
I’d really appreciate feedback on:
1) whether the DBUnit dataset scope looks appropriate,
2) whether these test cases cover the highest-risk service paths,
3) any additional edge cases you’d like included before merge.
Thanks for your time and review.
1 Like
Hi everyone,
Thanks for the clarification that the 60% coverage target applies across all categories, including both Service and Controller layers. That helps define the project scope more clearly.
After reviewing the existing integration test structure, my approach would be to prioritize components that have the highest business impact while also improving overall coverage. Rather than focusing only on increasing the coverage percentage, I’d aim to add meaningful integration tests that validate:
-
Core business workflows and service interactions
-
REST API happy-path and failure-path scenarios
-
Database persistence and transaction behavior
-
Validation, exception handling, and edge cases
-
Consistent DBUnit datasets to ensure deterministic and maintainable tests
I also think regularly tracking progress with JaCoCo reports will help identify the most valuable areas for additional tests instead of simply chasing coverage numbers.
Looking forward to contributing and learning from the community. Any recommendations on which modules currently need the most attention would be greatly appreciated.
1 Like