Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,14 @@ With Java 21 and the pinned plugin dependencies installed (see the Build workflo
mvn -B --no-transfer-progress clean verify
```

JUnit 5 and Mockito cover track geometry, train routing and placement, persistence,
locomotive behaviour and other logic that runs without a server. They do not start a
live Paper server or load ModelEngine models. The Build workflow runs the suite on pull
requests targeting `main` and on pushes to `main` and uploads the Surefire reports. JaCoCo requires 100% line coverage across all production classes, with no
coverage exclusions. HTML and XML reports are written to `target/site/jacoco/`
and uploaded by the Build workflow.

bStats is bundled from the upstream `bstats-bukkit:3.1.0` Maven artifact and
relocated into the plugin's namespace. This replaces the same-version vendored
copy; third-party dependency bytecode is outside the plugin's production-source
coverage denominator. Metrics configuration and lifecycle integration remain tested.
JUnit 5 and Mockito cover track geometry, train routing and placement,
persistence, vehicle controls, weapons and plugin lifecycle. They do not start
a live Paper server or load ModelEngine models. Surefire writes test results to
`target/surefire-reports/`. JaCoCo requires 100% line coverage across all
production classes, with no coverage exclusions; instruction and branch coverage
are reported separately. HTML/XML reports are written to `target/site/jacoco/`.
The Build workflow runs verification on pull requests and pushes to `main` and
uploads both test and coverage reports.

## License

Expand Down
Loading