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
, andjunit-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