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.
Basic setups showing how to get started with JUnit Jupiter.
The junit5-jupiter-starter-ant sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Ant build system.
The junit5-jupiter-starter-gradle sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Gradle build system.
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.
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.
The junit5-jupiter-starter-maven sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Maven build system.
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.
The junit5-jupiter-starter-bazel sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using the Bazel build system.
The junit5-jupiter-starter-sbt sample demonstrates the bare minimum configuration for getting started with JUnit Jupiter using sbt and the Scala programming language.
Extending JUnit Jupiter using its Extension
API.
The junit5-jupiter-extensions sample demonstrates how one can implement custom JUnit Jupiter extensions and use them in tests.
More complex setups how to integrate various parts of "JUnit 5" including a possible migration path for JUnit 3 or 4 based projects.
The junit5-migration-gradle sample demonstrates how to set up a Gradle project using the JUnit Platform, JUnit Jupiter, and JUnit Vintage.
The junit5-migration-maven sample demonstrates how to set up a Maven project using the JUnit Platform, JUnit Jupiter, and JUnit Vintage.
Showing basic features of the JUnit Platform.
The junit5-multiple-engines sample demonstrates how to set up a Gradle project using the JUnit Platform with various TestEngine implementations.
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.