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
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,20 @@ Technical documentation is maintained in [TF-Minecraft/Docs](https://github.com/

## Tests and coverage

Run `mvn clean verify` with Java 21. The build runs the unit tests and enforces
100% executable runtime **line coverage** with JaCoCo, without production-class
exclusions. Instruction and branch coverage are reported separately.

The HTML report is `target/site/jacoco/index.html`; the machine-readable report is
`target/site/jacoco/jacoco.xml`. CI uploads these reports alongside test results.
Run `mvn clean verify` with Java 21 after preparing the [pinned dependencies](DEPENDENCIES.md#tlibs-source-builds).
JUnit 5, Mockito and MockBukkit exercise item/block APIs, equipment and socket
handling, inventory scanning, SQLite storage and plugin lifecycle. These tests
do not start a live Paper server or verify the full dependent-plugin stack.

JaCoCo enforces 100% production line coverage with no exclusions; instruction
and branch coverage are reported separately. HTML/XML reports are written to
`target/site/jacoco/`, and Surefire results to `target/surefire-reports/`.
Build CI uploads both.

Run `python3 -m unittest discover -s tests -v` for the dependency installer and
artifact validation tests. These use Python's standard-library `unittest`,
report to the terminal and are outside the Java coverage gate. The Dependency
installer workflow also checks release resolution and Maven installation.

## License

Expand Down