Video description
Are you looking for a simple, no-nonsense guide to learning how unit testing works? This video course is what you need. Complete with hands-on exercises and best practices, this guide will help you to understand JUnit and Mockito unit testing with ease.
The course starts with an introduction to unit testing and highlights the need and importance of its testing framework, JUnit. You’ll then understand the project structure and conventions by creating a Java project using JUnit. As you implement best practices for writing and running unit tests with JUnit and IntelliJ IDEA, you’ll discover how JUnit works. You’ll also write mock objects-based unit tests with Mockito for testing a simple layered architecture. Finally, you’ll learn to make more powerful assertions in your unit tests by harnessing the power of the Hamcrest assertions library that ships with JUnit.
By the end of this course, you’ll have developed the skills needed for writing better unit tests using JUnit, Mockito, and Hamcrest.
What You Will Learn
- Understand modern unit testing concepts and best practices
- Find out how to run unit tests in the IDE
- Analyze production code for writing quality unit tests
- Study and implement JUnit s fail fast mechanism
- Become familiar with Mockito and mock objects
- Compose Hamcrest matchers to create readable assertions
Audience
Whether you are a Java developer or a tester who wants to write unit tests using JUnit, Mockito, and Hamcrest, this course is for you. A basic understanding of Java is necessary to get started with this course.
About The Author
Matthew Speake: Matthew Speake is a Java technologist and trainer. He has over 20 years of experience working everywhere from small start-ups to large global corporations and is the principal trainer at Zention in the UK.
He started JavaEasily in 2018 to produce courses focused on teaching Java technology to students all around the world. Since then, JavaEasily has been busy creating and publishing courses and articles on different aspects of Java to help beginners and intermediate Java developers enhance their skills. JavaEasily helps you become a better Java developer by teaching you the core skills you need in order to succeed in your Java career.
Table of contents
- Chapter 1 : Introduction
- Chapter 2 : Unit Testing Foundations
- Chapter 3 : Creating a Java Project Using JUnit
-
Chapter 4 : Writing and Running Unit Tests with JUnit and IntelliJ IDEA
- Section Introduction
- Creating a Test Method with @Test Annotation
- Running a Unit Test Within the Integrated Development Environment (IDE) and Understanding Test Success
- Understanding Test Failures with Exceptions
- Failing a Unit Test Explicitly with Assert.Fail()
- Using Assert.Fail() to Check Validation Logic in a Try/Catch
- Introduction to the JUnit Assertions API
- Structuring Unit Tests with Arrange-Act Assert
- Understanding the Execution of Assertions and JUnit's Fail-fast Test Failure Mechanism
- Adding Descriptive Comments to Assertions and Test Failures to Aid Diagnostics
- Coding a Unit Test Following Arrange-Act-Assert
- Keeping Test Setup (Don't Repeat Yourself) DRY with @Before
- Understanding Test Fixture Instantiation
-
Chapter 5 : Using Testing with Mock Objects and Mockito
- Section Introduction
- What Is Mockito and What Are Mock Objects?
- Introduction to Testing with Mock Objects
- Configuring Projects Using Mockito
- Creating a Project Which Uses JUnit and Mockito
- Coding a Layered Architecture - Presentation Layer
- Coding a Layered Architecture - Business Layer
- Coding a Layered Architecture - Persistence Layer
- Putting the Correct Packages in Place to Respect the layering
- Writing a Test for the Login Controller in the Presentation Layer
- Understanding the Test Fixture Setup While Writing Mock Object-based Unit Tests
- Writing a Test for the Authentication Service in the Business Layer
- Thinking about Design Decisions When Unit Testing
-
Chapter 6 : Looking at Hamcrest Assertions Library
- Section Introduction
- Evolving the Domain and Repository Classes
- Ignoring Tests with @ignore
- Implementing a Finder in the Repository
- Implementing Business Logic in the Service
- Configuring Maven to Use Java 8
- Evolving the Repository Class
- Adding a Parameter-driven Finder to the Service
- Refactoring to Evolve a New Service
- Generating Test Methods in the IDE and Toggling Between Production and Test Code
- Introducing the JUnit Mockito Runner and @Mock
- Analyzing the Production Code to Determine How to Write the Arrange Section
- Using Mockito's @InjectMocks to Create the System Under Test with its Dependencies
- Keep Yourself Motivated by Checking the Happy Path Test Output
- Using the JUnit Assertions API to Write the Assert Section
- Thinking about the Weaknesses of the JUnit Assertions API
- Importance of Checking Your Work as You Go!
- Upgrading a JUnit Project to Use the Full Hamcrest Version
- Replacing JUnit Assertions with Hamcrest Assertions and Using Assertions with Collections
- Understanding and Reading Hamcrest Test Failures
- Quick Thoughts on Hamcrest Individual vs Collection Assertions
- Do Not Invoke Unneeded Production Code in Your Test Classes
- Understanding Evaluation of Hamcrest Matchers
- Thinking about Keeping Production Code to a Minimum in Tests
- Creating Complex Hamcrest Assertions with allOf Method and Property Matchers
Product information
- Title: JUnit and Mockito Unit Testing for Java Developers
- Author(s):
- Release date: October 2020
- Publisher(s): Packt Publishing
- ISBN: 9781801078337
You might also like
book
Java Unit Testing with JUnit 5: Test Driven Development with JUnit 5
Explore the new way of building and maintaining test cases with Java test driven development (TDD) …
video
Learn Java Unit Testing with JUnit 5 in 20 Steps
JUnit is a unit testing framework for the Java programming language. JUnit has been important in …
video
Master Java Unit Testing with Spring Boot and Mockito
Spring Boot is the most popular framework to develop RESTful services. It has awesome unit testing …
video
Mockito Tutorial: Learn mocking with 25 Junit Examples
Writing great unit tests distinguishes good programmers from great programmers. In this course, you will learn …