Skip to main content
The JUnit 5 integration ships as io.varianz:varianz-junit — added to testImplementation automatically by the Gradle plugin (includeJunit, default true), or explicitly with Maven (setup).
Endpoint resolution, in order: explicit configuration (@VarianzTest(endpoint = "…")) → system property -Dvarianz.endpoint → environment variable VARIANZ_COORDINATOR_ENDPOINT → endpoint in varianz.toml → default http://127.0.0.1:50051. For a plaintext local coordinator the JVM also needs VARIANZ_INSECURE_ALLOW_PLAINTEXT=true (see Configuration).
VARIANZ_COORDINATOR_ENDPOINT is the only environment variable the JVM reads. There is no alias and no warning for any other spelling. A suite exporting VARIANZ_ENDPOINT falls back to http://127.0.0.1:50051, insert() returns an id, awaitSyncOrFail() passes, and every stage silently no-ops — a green run that tested nothing. If you are upgrading a suite, check this first: see Releases.

Session API

If a test starts its own in-process gRPC server, that server still needs CoordinatorBinding.init(...) and the agent — otherwise the test is connected to the coordinator but the server isn’t, and sync reports zero subscribers.

Kotest

io.varianz:varianz-kotest provides the same lifecycle for Kotest specs — client per spec, session per leaf test:
Endpoint resolution is identical to JUnit’s — the two extensions share the same client lifecycle.