Before:
- Coverage: ___%
- Tests: ___ passing / ___ total
After:
- Coverage: ___%
- Tests: ___ passing / ___ total
New Tests Added:
- Unit tests: ___ tests
- Integration tests: ___ tests
# Commands used to verify tests
./gradlew test integrationTest
./gradlew jacocoTestReportCoverage Report Location: build/reports/jacoco/test/html/index.html
- ✓ Gradle Build (Java 21) - View Workflow
- Compilation successful
- Unit tests passing
- Integration tests passing
- Koin DI verification passing
- JAR artifact created
- Smoke test passed
- ✓ SonarQube Analysis - View Workflow
- Code quality checks passed
- JaCoCo coverage report generated
- SonarCloud scan completed (if configured)
- Check Actions Tab: https://github.com/bedaHovorka/interlockSim/actions
- View Build Details: Click on the workflow run for this PR
- Review Artifacts:
- JAR:
interlockSim-jar-{sha} - Test Results:
test-results-{sha} - Coverage Report:
jacoco-coverage-report-{sha}
- JAR:
Coverage Report URL: Available in GitHub Actions artifacts after CI completes
Key Metrics to Check:
- Overall instruction coverage ≥ 51% (baseline)
- No decrease in coverage for modified packages
- New code has adequate test coverage
- Detekt checks passed:
./gradlew detekt - Ktlint formatting passed:
./gradlew ktlintCheck - EditorConfig rules followed (tabs, max line length 120)
Commands Used:
# Example commands for manual testing
./gradlew runSim
./gradlew runEditor
./gradlew runExampleGui- No breaking changes
- Breaking changes (describe below):
- README.md updated (if user-facing changes)
- CLAUDE.md updated (if developer-facing changes)
- JavaDoc/KDoc comments added/updated
- Architecture docs updated (if design changes)
- CHANGELOG.md updated
- All CI checks are passing (see CI/CD Status above)
- Test coverage maintained or improved
- JaCoCo report reviewed and validates expected improvements
- Code follows project style guidelines (tabs, max line 120)
- No console warnings or errors during build
- Smoke test passes locally:
./gradlew clean build && java -jar build/libs/interlockSim.jar example shuntingLoop 300 - Documentation updated as needed
- Ready for review