10. Appendix

10.1. Reproducible Builds

Starting with version 5.7, JUnit 5 aims for its non-javadoc JARs to be reproducible

Under identical build conditions, such as Java version, repeated builds should provide the same output byte-for-byte.

This means that anyone can reproduce the build conditions of the artifacts on Maven Central/Sonatype and produce the same output artifact locally, confirming that the artifacts in the repositories were actually generated from this source code.

10.2. Dependency Metadata

Artifacts for final releases and milestones are deployed to Maven Central, and snapshot artifacts are deployed to Sonatype’s snapshots repository under /org/junit.

10.2.1. JUnit Platform

  • Group ID: org.junit.platform

  • Version: 1.7.0

  • Artifact IDs:

    junit-platform-commons

    Common APIs and support utilities for the JUnit Platform. Any API annotated with @API(status = INTERNAL) is intended solely for usage within the JUnit framework itself. Any usage of internal APIs by external parties is not supported!

    junit-platform-console

    Support for discovering and executing tests on the JUnit Platform from the console. See Console Launcher for details.

    junit-platform-console-standalone

    An executable JAR with all dependencies included is provided in Maven Central under the junit-platform-console-standalone directory. See Console Launcher for details.

    junit-platform-engine

    Public API for test engines. See Plugging in your own Test Engine for details.

    junit-platform-launcher

    Public API for configuring and launching test plans — typically used by IDEs and build tools. See JUnit Platform Launcher API for details.

    junit-platform-reporting

    TestExecutionListener implementations that generate test reports — typically used by IDEs and build tools. See JUnit Platform Reporting for details.

    junit-platform-runner

    Runner for executing tests and test suites on the JUnit Platform in a JUnit 4 environment. See Using JUnit 4 to run the JUnit Platform for details.

    junit-platform-suite-api

    Annotations for configuring test suites on the JUnit Platform. Supported by the JUnitPlatform runner and possibly by third-party TestEngine implementations.

    junit-platform-testkit

    Provides support for executing a test plan for a given TestEngine and then accessing the results via a fluent API to verify the expected results.

10.2.2. JUnit Jupiter

  • Group ID: org.junit.jupiter

  • Version: 5.7.0

  • Artifact IDs:

    junit-jupiter

    JUnit Jupiter aggregator artifact that transitively pulls in dependencies on junit-jupiter-api, junit-jupiter-params, and junit-jupiter-engine for simplified dependency management in build tools such as Gradle and Maven.

    junit-jupiter-api

    JUnit Jupiter API for writing tests and extensions.

    junit-jupiter-engine

    JUnit Jupiter test engine implementation; only required at runtime.

    junit-jupiter-params

    Support for parameterized tests in JUnit Jupiter.

    junit-jupiter-migrationsupport

    Support for migrating from JUnit 4 to JUnit Jupiter; only required for support for JUnit 4’s @Ignore annotation and for running selected JUnit 4 rules.

10.2.3. JUnit Vintage

  • Group ID: org.junit.vintage

  • Version: 5.7.0

  • Artifact ID:

    junit-vintage-engine

    JUnit Vintage test engine implementation that allows one to run vintage JUnit tests on the JUnit Platform. Vintage tests include those written using JUnit 3 or JUnit 4 APIs or tests written using testing frameworks built on those APIs.

10.2.4. Bill of Materials (BOM)

The Bill of Materials POM provided under the following Maven coordinates can be used to ease dependency management when referencing multiple of the above artifacts using Maven or Gradle.

  • Group ID: org.junit

  • Artifact ID: junit-bom

  • Version: 5.7.0

10.2.5. Dependencies

Most of the above artifacts have a dependency in their published Maven POMs on the following @API Guardian JAR.

  • Group ID: org.apiguardian

  • Artifact ID: apiguardian-api

  • Version: 1.1.0

In addition, most of the above artifacts have a direct or transitive dependency on the following OpenTest4J JAR.

  • Group ID: org.opentest4j

  • Artifact ID: opentest4j

  • Version: 1.2.0

10.3. Dependency Diagram

component diagram