Home

Awesome

JUnit 5 Samples ci-badge

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 badge-jdk-8 badge-tool-ant badge-junit-jupiter

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 badge-jdk-8 badge-tool-gradle badge-junit-jupiter

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 badge-jdk-8 badge-tool-gradle badge-junit-jupiter

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 badge-jdk-8 badge-tool-gradle badge-junit-jupiter

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 badge-jdk-8 badge-tool-maven badge-junit-jupiter

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 badge-jdk-8 badge-tool-maven badge-junit-jupiter

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 badge-jdk-8 badge-tool-bazel badge-junit-jupiter

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 badge-jdk-8 badge-tool-sbt badge-junit-jupiter

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 badge-jdk-8 badge-tool-gradle badge-junit-jupiter

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 badge-jdk-8 badge-tool-gradle badge-junit-platform badge-junit-jupiter badge-junit-vintage

The junit5-migration-gradle sample demonstrates how to set up a Gradle project using the JUnit Platform, JUnit Jupiter, and JUnit Vintage.

Maven Migration badge-jdk-8 badge-tool-maven badge-junit-platform badge-junit-jupiter badge-junit-vintage

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 Engines badge-jdk-11 badge-tool-gradle badge-junit-platform badge-junit-jupiter badge-junit-vintage ...

The 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 badge-jdk-11 badge-tool-console badge-junit-platform

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.