This repository contains code examples of JUnit 5 for the book Mastering Software Testing with JUnit 5, authored by Boni Garcia and published by Packt. These examples covers the main features of JUnit 5, such as:
- JUnit 5 tests lifecycle.
- Assertions.
- Tagging and filtering tests.
- Conditional test execution.
- Nested and repeated tests.
- Migration from JUnit 4.
- Dependency injection.
- Dynamic tests.
- Test interfaces.
- Test templates.
- Parameterized tests.
- Parallel execution.
- Ordered tests.
Moreover, the integration with third-party frameworks and technologies is also illustrated with examples, concretely:
- Mockito (popular mock framework).
- Spring (Java framework aimed to created enterprise applications based on dependency injection).
- Docker (container platform technology).
- Selenium (test framework for web applications).
- Appium (driver for mobile devices).
- Android (open source mobile operating system based on Linux).
- REST services (using REST Assured, Retrofit2, or WireMock).
JUnit 5 versions
This repository has different tags, one per minor version of JUnit 5. Currently, the available tags are the following:
5.0
: Examples using JUnit 5.0.3. The examples of the book Mastering Software Testing with JUnit 5 are based on this version.5.1
: Examples using JUnit 5.1.1.5.2
: Examples using JUnit 5.2.0.5.3
: Examples using JUnit 5.3.2.5.4
: Examples using JUnit 5.4.2.5.5
: Examples using JUnit 5.5.2.5.6
: Examples using JUnit 5.6.2.
Complete example
The project Rate my cat! contains a sample web application based on Spring Boot (Spring MVC, Thymeleaf, and Spring Data JPA) with a complete set of JUnit 5 tests (unit with Mockito, integration with Spring, and end-to-end tests with Selenium).
About
This is a project made by Boni Garcia, Assistant Professor at Universidad Carlos III de Madrid, Spain. Copyright © 2017-2020.