Book Image

Mastering Software Testing with JUnit 5

By : Boni Garcia
Book Image

Mastering Software Testing with JUnit 5

By: Boni Garcia

Overview of this book

When building an application it is of utmost importance to have clean code, a productive environment and efficient systems in place. Having automated unit testing in place helps developers to achieve these goals. The JUnit testing framework is a popular choice among Java developers and has recently released a major version update with JUnit 5. This book shows you how to make use of the power of JUnit 5 to write better software. The book begins with an introduction to software quality and software testing. After that, you will see an in-depth analysis of all the features of Jupiter, the new programming and extension model provided by JUnit 5. You will learn how to integrate JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker. After the technical features of JUnit 5, the final part of this book will train you for the daily work of a software tester. You will learn best practices for writing meaningful tests. Finally, you will learn how software testing fits into the overall software development process, and sits alongside continuous integration, defect tracking, and test reporting.
Table of Contents (8 chapters)

What you need for this book

In order to understand the concepts presented in this book better, it is highly recommended to fork the GitHub repository, which contains the code examples presented in this book (https://github.com/bonigarcia/mastering-junit5). In the author’s opinion, touching and playing with the code is essential to achieve a quick hands-on understanding of the JUnit 5 testing framework. As introduced before, the last chapter of this book provides a complete application example covering some of the most important topics of this book. This application (called Rate my cat!) is also available on GitHub, in the repository https://github.com/bonigarcia/rate-my-cat.

In order to run these example, you will need JDK 8 or higher. You can download the Oracle JDK from its website: http://www.oracle.com/technetwork/java/javase/downloads/index.html. In addition, it is highly recommended to use an Integrated Development Environment (IDE) to ease the development and testing process. As we will discover in this book, at the time of this writing there are two IDEs fully compliant with JUnit 5, namely:

  • Eclipse 4.7+ (Oxygen): https://eclipse.org/ide/.
  • IntelliJ IDEA 2016.2+: https://www.jetbrains.com/idea/.

If you prefer to run JUnit 5 from the command line, two possible build tools can be used:

  • Maven: https://maven.apache.org/
  • Gradle: https://gradle.org/