/mastering-junit5

Code examples of Mastering Software Testing with JUnit 5

Primary LanguageJavaApache License 2.0Apache-2.0

Build Status License badge Twitter

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.

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:

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 U-tad and Researcher at Universidad Rey Juan Carlos, Spain. Copyright © 2017-2018.