Skip to content

Add comprehensive testing improvement plan#12

Open
dillonvargo wants to merge 1 commit into
masterfrom
devin/1770902802-testing-improvement-plan
Open

Add comprehensive testing improvement plan#12
dillonvargo wants to merge 1 commit into
masterfrom
devin/1770902802-testing-improvement-plan

Conversation

@dillonvargo

Copy link
Copy Markdown
Owner

Description of what I changed

Added a markdown planning document (testing-improvement-plan.md) at the repository root that outlines a prioritized strategy for improving test coverage across OpenMRS Core. The document covers four areas:

  1. P1 - Missing assertion validation: Proposes a new meta-test in OpenmrsTestsTest.java to detect test methods that lack assert*/verify* calls (addresses the existing TODO at lines 39-42).
  2. P2 - Disabled test remediation: Inventories all 40+ @Disabled tests across 21 files, categorized into three tiers (ticket-referenced, no-ticket, and intentionally-disabled utilities), with action items for each.
  3. P3 - AOP void method coverage: Analyzes the BaseVoidHandler/RequiredDataAdvice AOP pattern that causes low branch coverage in void* service methods (TRUNK-5151), and proposes testing strategies.
  4. P4 - JaCoCo infrastructure: Proposes adding report and check goals to the existing JaCoCo config to enforce coverage thresholds.

No code changes — this is a planning document only.

Issue I worked on

This plan references multiple existing tickets:

Checklist: I completed these to help reviewers :)

  • My IDE is configured to follow the code style of this project.
  • I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)
    • N/A — no code changes, documentation only.
  • I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.
  • All new and existing tests passed.
  • My pull request is based on the latest changes of the master branch.

Items for reviewer attention

  • Should this document live in the repo root? Consider whether a wiki page or JIRA epic would be a more appropriate home. If kept in-repo, it may warrant a docs/ directory.
  • Verify the disabled test inventory is complete — the count of 40+ @Disabled annotations across 21 files was gathered via grep; confirm nothing was missed or miscounted.
  • Evaluate proposed assertion validation approach — the plan suggests ASM bytecode analysis to detect assertion-less tests. Confirm this aligns with the project's preferences (vs. simpler source-file scanning).
  • Review timeline estimates — 20-30 engineering days total is a rough estimate without team capacity context.

Link to Devin run: https://app.devin.ai/sessions/f85e30cdef124cceb11ddef199f6d780
Requested by: Dillon Vargo (dillon.vargo@windsurf.com)

Co-Authored-By: Dillon Vargo <dillonvargo@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant