mastering-junit5
mastering-junit5 copied to clipboard
Examples of the Packt book "Mastering Software Testing with JUnit 5"
This repository contains the code examples of JUnit 5 for the book Mastering Software Testing with JUnit 5, authored by Boni García and published by Packt.
These examples cover 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 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 WebDriver (test automation library for web applications).
- Appium (test automation library 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.3.5.7: Examples using JUnit 5.7.2.5.8: Examples using JUnit 5.8.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 García, Visiting Professor at Universidad Carlos III de Madrid, Spain. Copyright © 2017-2022.

