Junit 5 Architecture

This lesson describes Junit 5 architecture, along with their core functionality.

widget

Junit 5 Architecture has three main components -

  • Junit Platform It provides a core foundation to help launching testing frameworks on JVM. It acts as an interface between JUnit and its clients such as build tools (Maven and Gradle) and IDE’s (Eclipse and IntelliJ). It introduces the concept of a Launcher which external tools use to discover, filter, and execute tests.

It also provides the TestEngine API for developing a testing framework that runs on the JUnit platform. Using TestEngine API, 3rd party testing libraries such as Spock, Cucumber, and FitNesse can directly plug in and provide their custom TestEngine.

  • Junit Jupiter It provides a new programming model and extension model for writing tests and extensions in Junit 5. It has a whole new annotation to write test cases in Junit 5. Some of the annotations are @BeforeEach, @AfterEach, @AfterAll, @BeforeAll etc. It implements TestEngine API provided by Junit Platform so that Junit 5 test can be run.

  • Junit Vintage The term Vintage basically means classic. Thus, this sub-project provides extensive support for writing test cases in JUnit 4 and JUnit 3. Thus, backward compatibility is been provided by this project.

JUnit 5 Architecture

Quiz on JUnit 5 Architecture

Q

JUnit 4 test cases are run on JUnit Vintage Engine.

A)

True

B)

False

Quiz on JUnit 5 Architecture

Q

JUnit 5 test cases are run on JUnit Jupiter Engine.

A)

True

B)

False


In the next lesson, we will learn to create our first JUnit 5 test case.