This repo keeps the current test style (JUnit 6 + jqwik + suite-based grouping). The goal is clarity and reproducibility rather than framework churn.
- Every solved task has direct tests in
src/test/java/<package>. - The smoke suite groups these checks for a fast, deterministic review signal.
- Run:
mvn -B test -Dgroups='smoke'
mvn -B test -Dtest='quality.SmokeSuite'- Transaction state and ordering behavior is covered in
transactions.InMemoryValidationServiceTest. - The integration suite runs this group in CI and locally.
- Run:
mvn -B test -Dgroups='integration'
mvn -B test -Dtest='quality.IntegrationSuite'- Property tests use jqwik for invariants and edge-case generation.
- This repository groups the current property-focused tests in
quality.PropertySuite. - jqwik reporting is configured in
src/test/resources/junit-platform.propertiesto keep successful CI logs compact while preserving failure diagnostics. - Maven Surefire redirects test stdout to per-test files so CI logs show results, not framework chatter.
- Run:
mvn -B test -Dgroups='property'
mvn -B test -Dtest='quality.PropertySuite'-
Static checks are split into two layers:
- lightweight
maven verifyrun in CI categories/branch matrix; - dedicated static-only gates in
.github/workflows/quality.yml:- Checkstyle
- PMD
- SpotBugs
- lightweight
-
The static workflow does not run tests and provides standalone artifacts for static tooling review.
-
Checkstyle, PMD and SpotBugs are expected to stay at zero reported findings in the current baseline.
-
All three static tools are enforced: violations fail the Maven build.
-
Checkstyle uses
config/checkstyle/checkstyle.xml; generated smoke wrappers are documented inconfig/checkstyle/suppressions.xml. -
SpotBugs compatibility exceptions are explicit in
config/spotbugs-exclude.xml.
- Full verification includes tests, JaCoCo reporting/checks and static tools.
- Current enforced JaCoCo minimums:
- line coverage: 91%
- branch coverage: 85%
- instruction coverage: 92%
- Current verified local baseline: 455 tests, 91.4% line coverage, 85.1% branch coverage and 92.7% instruction coverage.
- Run:
mvn -B verify- CI uploads
target/surefire-reportsandtarget/site/jacoco.
- Category workflow: smoke/integration/property tags (JDK 21)
- Full verify workflow: JDK 17 and 21
- Static workflow: static checks only (JDK 21)
- UI tests: N/A for this repository (no UI module).