What are the different modules in JUnit 5 framework?
JUnit 5 is a project for a new generation of testing frameworks. The purpose of JUnit 5 is to create a stable foundation for the next generation of JUnit testing frameworks by addressing many core issues in current implementations, providing new features previously unavailable, and making it easy for developers to adopt.
Here are the modules that make up the JUnit 5 framework:
JUnit Platform: JUnit provides an API for tools to discover and run tests. It defines an interface between JUnit and customers who want to run tests from IDEs, build tools, or consoles.
JUnit Jupiter: JUnit 5 offers an annotation-based API to write unit tests, along with a test engine that lets you run them. It enables you to cover more code paths by running multiple test instances in parallel, reduce boilerplate with raw type annotations, and express intent with rules for behavioral testing.
JUnit Vinatge: The JUnitTestEngine is a free, open-source Eclipse plugin that offers a test engine to run JUnit 3 and JUnit 4 tests, thereby ensuring backward compatibility (with earlier versions of the JUnit framework).
To deep dive into this, please go through the comprehensive guide on JUnit 5 Extensions: