Junit 5 : Architecture

Junit 5 Architecture mainly divide in three modules:

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

JUnit 5 Architecture

In Junit 5 Architecture each module having specific purpose as below:

JUnit Platform

Junit Platform is core of JUnit 5 which provides a bunch of libraries that provide Console Launcher to launch a platform from the command line and invokes JUnit Runner for running Test Engine in JUnit 4 based environment.

JUnit Jupiter

Jupiter provides the APIs for developer to interact assertions and assumptions instead of Runner itself.

JUnit Vintage

By default, JUnit 5 does not provide backward compatibility, instead, it uses another module called as Vintage which provides APIs to write test cases supported by older version JUnit 3 or Junit 4.

Extensions (Third Party)

JUnit 5 supports third-party APIs also on its platform with the help of the Extensions module.

In further topics you will learn about the JUnit 5 Annotations and Implementation of test cases by considering different scenarios.