Skip to content

Getting started

Horizon-QA ships as a Forge mod (horizonqa) that other mods depend on at development and CI time. Tests are plain Java classes discovered at runtime via @GameTestHolder / @GameTest; there is no separate registration step.

What you will have at the end

A runServer task that launches Minecraft with --mcJvmArgs="-Dhorizonqa.mode=ci", runs the selected tests in your mod, and writes JUnit XML plus status JSON reports for CI.

Prerequisites

  • A GTNH-style Gradle mod project (uses the GTNH Gradle convention plugin).
  • Java 8 bytecode for mod code. The docs site and CI tooling can use newer JDKs.
  • Familiarity with Forge 1.7.10 dev environments: runClient and runServer should already work for your mod.

Learning path

The three pages below are sequenced; skim them in order if you are new to the framework.

  1. Enable & run: JVM flag, dedicated world, /horizonqa commands, examples mod.
  2. Your first test: minimal @GameTest, assertions, success conditions.
  3. Mod project setup: Gradle dependency, classpath assets, package layout.

Examples mod

The repository includes examples/, a Gradle subproject that depends on Horizon-QA and GT5-Unofficial. Use it as a runnable reference:

examples/src/main/java/.../tests/                       # @GameTest classes
examples/src/main/resources/assets/<namespace>/horizonqastructures/

See Examples mod for the Gradle wiring.

Where to go next

Goal Page
Export and reference structures Structure templates
Smelt a recipe in an EBF GTNH multiblock API
Wire CI CI & JUnit reports
Work out why a test failed Debugging failed tests
Look up @GameTest attributes Annotations