Mastering Software Testing with JUnit 5 : Comprehensive guide to develop high quality Java applications

A comprehensive, hands-on guide on unit testing framework for Java programming language

About This Book

In-depth coverage of Jupiter, the new programming and extension model provided by JUnit 5

Integration of JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker

Best practices for writing meaningful Jupiter test cases

Who This Book Is For

This book is for Java software engineers and testers. If you are a Java developer who is keen on improving the quality of your code and building world class applications then this book is for you. Prior experience of the concepts of automated testing will be helpful.

What You Will Learn

The importance of software testing and its impact on software quality

The options available for testing Java applications

The architecture, features and extension model of JUnit 5

Writing test cases using the Jupiter programming model

How to use the latest and advanced features of JUnit 5

Integrating JUnit 5 with existing third-party frameworks

Best practices for writing meaningful JUnit 5 test cases

Managing software testing activities in a living software project

In Detail

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.

Style and approach

The book offers definitive and comprehensive coverage of all the Unit testing concepts with JUnit and its features using several real world examples so that readers can put their learning to practice almost immediately. This book is structured in three parts:

Software testing foundations (software quality and Java testing)

JUnit 5 in depth (programming and extension model of JUnit 5)

Software testing in practice (how to write and manage JUnit 5 tests)