JUnit 5 Samples
Welcome to JUnit 5 Samples, a collection of sample applications and extensions using JUnit Jupiter, JUnit Vintage, and the JUnit Platform on various build systems.
CI builds for sample projects are performed by GitHub Actions. Using JDK 11+'s
jshell
tool, you may build all samples via the build-all-samples.jsh
script.
Jupiter Starter Samples
Basic setups showing how to get started with JUnit Jupiter.
Jupiter on Ant
The junit5-jupiter-starter-ant sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Ant build system.
Jupiter on Gradle
The junit5-jupiter-starter-gradle sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Gradle build system.
Jupiter on Gradle using Kotlin
The junit5-jupiter-starter-gradle-kotlin sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Gradle build system and the Kotlin programming language.
Jupiter on Gradle using Groovy
The junit5-jupiter-starter-gradle-groovy sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Gradle build system and the Groovy programming language.
Jupiter on Maven
The junit5-jupiter-starter-maven sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Maven build system.
Jupiter on Maven using Kotlin
The junit5-jupiter-starter-maven-kotlin sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter project using Maven build system and Kotlin programming language.
Jupiter on Bazel
The junit5-jupiter-starter-bazel sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Bazel build system.
Jupiter on sbt
The junit5-jupiter-starter-sbt sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using sbt and the Scala programming language.
Jupiter Feature Samples
Extending JUnit Jupiter using its Extension
API.
Sample Extensions
The junit5-jupiter-extensions sample demonstrates how one can implement custom JUnit Jupiter extensions and use them in tests.
Migration Samples
More complex setups how to integrate various parts of "JUnit 5" including a possible migration path for JUnit 3 or 4 based projects.
Gradle Migration
The junit5-migration-gradle sample demonstrates how to set up a Gradle project using the JUnit Platform, JUnit Jupiter, and JUnit Vintage.
Maven Migration
The junit5-migration-maven sample demonstrates how to set up a Maven project using the JUnit Platform, JUnit Jupiter, and JUnit Vintage.
Platform Samples
Showing basic features of the JUnit Platform.
...
Multiple EnginesThe junit5-multiple-engines sample demonstrates how to set up a Gradle project using the JUnit Platform with various TestEngine implementations.
Living in the Modular World
The junit5-modular-world sample demonstrates how to test code organized in modules. This sample also demonstrates how to implement a custom TestEngine for the JUnit Platform using the Java Platform Module System.