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)

JUnit 5 Standard Tests

Talk is cheap. Show me the code.
- Linus Torvalds

JUnit 5 provides a brand-new programming model called Jupiter. We can see this programming model as an API for software engineers and testers which allow to create JUnit 5 tests. These tests are later executed on the JUnit Platform. As we will discover, the Jupiter programming model allows to create many different types of tests. This chapter tackles the basics of Jupiter. To that aim, this chapter is structured as follows:

  • Test lifecycle: In this section, we analyze the structure of the Jupiter tests, describing the annotations involved in the management of the test life cycle in the JUnit 5 programming model. Then, we discover how to skip tests, and also how to annotate tests with a custom display name.
  • Assertions: In this section, first we present a brief overview of the verification assets, called...