Master Java Unit Testing with Spring Boot & Mockito
4.4 (1,866 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,383 students enrolled

Master Java Unit Testing with Spring Boot & Mockito

Learn to write awesome Java JUnit unit tests with Spring Boot, Mockito, JsonAssert, Hamcrest & JsonPath in 40 easy steps
4.4 (1,866 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,382 students enrolled
Last updated 4/2020
English
English [Auto-generated], French [Auto-generated], 5 more
  • German [Auto-generated]
  • Indonesian [Auto-generated]
  • Italian [Auto-generated]
  • Portuguese [Auto-generated]
  • Spanish [Auto-generated]
Current price: $129.99 Original price: $199.99 Discount: 35% off
3 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4 hours on-demand video
  • 3 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • You will learn to WRITE GREAT UNIT and INTEGRATION Tests using Spring Boot Starter Test from SCRATCH
  • You will learn to Write INDEPENDENT Unit Tests for RESTFUL web services talking with MULTIPLE LAYERS - web, business and data
  • You will learn to Use the most important Unit Testing ANNOTATIONS - @SpringBootTest, @WebMvcTest, @DataJpaTest and @MockBean
  • Use ALL the FRAMEWORKS in Spring Boot Starter Test - JUnit, Spring Test, Spring Boot Test, AssertJ, Hamcrest, Mockito, JSONassert and JsonPath.
  • You will learn to write unit tests using MOCKS and SPYS created with MOCKITO
  • You will learn to Write Integration Tests using an IN MEMORY DATABASE - H2
Course content
Expand all 50 lectures 03:56:40
+ Section 1 - Mocking With Mockito
16 lectures 01:09:30
Step 02 - Writing Unit Test for a Simple Business Service
06:03
Step 03 - Setting up a Business Service to call a Data Service
03:49
Step 04 - Writing your first unit test with Stub
04:56
Step 05 - Exercise Solution - Updating Tests 2 & 3 to use Stubs
03:47
Step 06 - Writing Unit Tests with Mocking using Mockito
05:38
Step 07 - Exercise Solution - Updating Tests 2 & 3 to use Mockito
04:11
Step 08 - More Refactoring - @Mock, @InjectMocks and @RunWith(MockitoJUnitRunner
03:25
Step 09 - Mockito Tips - Multiple Return Values and Specific Argument Matchers
05:52
Step 10 - Mockito Tips - Argument Matchers
02:58
Step 11 - Mockito Tips - Verify method calls
06:40
Step 12 - Mockito Tips - Argument Capture
04:04
Step 13 - Mockito Tips - Argument Capture on Multiple Calls
02:33
Step 14 - Introduction to Spy
07:42
Step 15 - Mockito FAQ
03:24
+ Section 2 - Unit Testing With Spring Boot And Mockito
30 lectures 02:40:01
Step 00 - Section Introduction - Unit Testing with Spring Boot and Mockito
02:46
Fastest Approach to Solve All Your Exceptions
00:22
Step 01 - Creating a Hello World Controller
03:40
Step 02 - Using Mock Mvc to test Hello World Controller
12:40
Step 03 - Using Response Matchers to check status and content
05:07
Step 04 - Creating a Basic REST Service in Item Controller
05:08
Step 05 - Unit Testing Item Controller and Basic JSON Assertions
04:05
Step 06 - Digging deeper into JSON Assert
12:26
Step 07 - Writing a REST Service talking to Business Layer
04:10
Step 08 - Writing Unit Test for REST Service mocking Business Layer
06:51
Step 09 - 00 - Overview of Steps 09 to 15
01:41
COURSE UPDATE : H2 Database URL
00:11
Step 09 - 01 - Prepare Data Layers with JPA, Hibernate and H2
03:24
Step 10 - Create Item Entity and Populate data with data.sql
06:00
Step 11 - Create a RESTful Service talking to the database
07:54
Step 12 - Writing Unit Test for Web Layer - Controller - Using Mock MVC
06:11
Step 13 - Exercise & Solution - Writing Unit Test for Business Layer - Mocking
05:27
Step 14 - Writing Unit Test for Data Layer - Data JPA Test
08:01
Step 15 - Writing an Integration Test using @SpringBootTest
08:51
Step 16 - Tip - Using @MockBean to mock out dependencies you do not want to talk
05:03
Step 17 - Tip - Creating Different Test Configuration
03:40
Step 18 - Writing Unit Tests for Other Request Methods
03:28
Step 19 - Refactor SomeBusinessImpl to use Functional Programming
03:49
Step 20 - Better Assertions with Hamcrest - HamcrestMatcherTest
08:37
Step 21 - Better Assertions with AssertJ - AssertJTest
06:27
Step 22 - Better Assertions with JSONPath - JSONPathTest
09:38
Step 23 - Tip Patterns - xunitpatterns
01:22
Step 24 - Tip - Measuring Test Coverage with Eclipse
04:25
Step 25 - Tip - Keep an eye on performance of unit tests!
03:03
Step 26 - Good Unit Tests
05:34
+ Congratulations
2 lectures 01:32
Bonus Lecture
00:42
Next Steps
00:50
Requirements
  • You have an attitude to learn while having fun :)
  • You should have working knowledge of Java, Junit, Spring, Spring Boot and JPA/Hibernate.
  • We will help you install Eclipse and get up and running with Maven and Tomcat.
Description

Great Programmers write Great Unit Tests. Want to Write Great Unit Tests for Spring Boot REST API ?

Spring Boot Test?   Yes.    Layered Unit Tests?  Yes. Of Course.    Spring Boot Integration Tests?   Yes.

Mockito?  Yes.                     JsonAssert, Hamcrest Matchers, and JsonPath?  Yes.  Included.

******* Some Amazing Reviews From Our Learners *******

★★★★★ This a very comprehensive introduction to spring boot test, which brings Mockito, Junit, JsonAssert, Spring Data JPA, REST, design pattern, and many more. Very valuable course. Thanks.

★★★★★ Excellent and to the point course on Unit testing with good references.

★★★★★ This is an excellent course for both beginners as well as experienced Java developers who which to hone their skill. The instructor was very knowledgeable and knew how to keep the course engaging while providing lots of tips. Highly recommended...

★★★★★ Great Course to learn Junit Testing. Great content and great examples to explain each scenarios of writing test cases. If you want to write java test cases then definitely go through this course.

★★★★★ This course is a great introduction to unit and integration testing using Spring Boot, Mockito, and a number of other libraries that can help to write effective tests. It is easy to follow along with and has plenty of references where to look for more information.

★★★★★ Needed it for new client project. Excellent source of concise tutorials for JUnit of microservices.

★★★★★ I was drowning in unit test concepts and this course cleared up what read about them. And have a simple but clear explanation of when is good and how to create unit test in your app.


******* Course Overview *******

Spring Boot is the most popular framework to develop RESTful Services. It has Awesome Unit Testing capabilities through Spring Boot Starter Test. Mockito is the most popular mocking framework. JUnit is most popular Java Unit Testing Framework.

In this course, you will learn to Write Great Unit Tests for Simple RESTful Services with Spring Boot Starter Test, Mockito and JUnit. You will learn to write independent unit tests for RESTful web services talking with multiple layers - web, business and data. You will learn how to write integration tests using an in memory database H2.

You will build the unit tests step by step - in 40 easy steps. This course would be a perfect first step as an introduction to unit testing with Spring Boot and Mockito Frameworks.

You will be using Spring (Dependency Management), Spring Boot, Maven (dependencies management), Eclipse (IDE), in memory database H2 and Tomcat Embedded Web Server. We will help you set up each one of these.

You will use all the frameworks that are part of Spring Boot Starter Test - JUnit, Spring Test, Spring Boot Test, AssertJ, Hamcrest, Mockito, JSONassert and JsonPath.

You will learn to use the most important Unit Testing Annotations - @RunWith(SpringRunner.class), @SpringBootTest, @WebMvcTest, @DataJpaTest and @MockBean.


******* What You Can Expect from Every in28Minutes Course *******

in28Minutes created 20 Best Selling Courses providing Amazing Learning Experiences to 250,000 Learners across the world.

Each of these courses come with

✔ Amazing Hands-on Step By Step Learning Experiences

✔ Real Project Experiences using the Best Tools and Frameworks

✔ Awesome Troubleshooting Guides with 200+ FAQs Answered

✔ Friendly Support in the Q&A section

✔ Free Udemy Certificate of Completion on Completion of Course


~~~ Here are a Few Reviews on The in28Minutes Way ~~~

★★★★★ Excellent, fabulous. The way he has prepared the material and the way he teaches is really awesome. What an effort .. Thanks a million

★★★★★ A lot of preparation work has taken place from the teacher and this is visible throughout the course.

★★★★★ This guy is fantastic. Really. Wonderful teaching skills, and goes well out of his way to make sure that everything he is doing is fully understood. This is the kind of tutorial that gets me excited to work with a framework that I may otherwise not be.

★★★★★ The best part of it is the hands-on approach which the author maintained throughout the course as he had promised at the beginning of the lecture. He explains the concepts really well and also makes sure that there is not a single line of code you type without understanding what it really does.

★★★★★ I also appreciate the mind and hands approach of teaching something and then having the student apply it. It makes everything a lot clearer for the student and uncovers issues that we will face in our project early.

★★★★★ Amazing course. Explained super difficult concepts (that I have spent hours on the internet finding a good explanation) in under 5 minutes.


Start Learning Now. Hit the Enroll Button!


******* Step By Step Details *******

Section 1 - Learning Mocking with Mockito

  • Step 01: Setting up the project using Spring Initializr

  • Step 02: Writing Unit Test for a Simple Business Service

  • Step 03: Setting up a Business Service to call a Data Service

  • Step 04: Writing your first unit test with Stub

    • Exercise - Update Tests 2 & 3

  • Step 05: Exercise Solution - Updating Tests 2 & 3 to use Stubs - Problem with Stubs.

  • Step 06: Writing Unit Tests with Mocking using Mockito

    • Exercise - Updating Tests 2 & 3 to use Mockito

  • Step 07: Exercise Solution - Updating Tests 2 & 3 to use Mockito

  • Step 08: More Refactoring - @Mock, @InjectMocks and @RunWith(MockitoJUnitRunner.class)

  • Step 09: Mockito Tips - Multiple Return Values and Specific Argument Matchers

  • Step 10: Mockito Tips - Argument Matchers

  • Step 11: Mockito Tips - Verify method calls

  • Step 12: Mockito Tips - Argument Capture

  • Step 13: Mockito Tips - Argument Capture on Multiple Calls

  • Step 14: Introduction to Spy

  • Step 15: Mockito FAQ


Section 2 - Unit Testing RESTful Services with Spring Boot and Mockito

  • Step 01: Creating a Hello World Controller

  • Step 02: Using Mock Mvc to test Hello World Controller

  • Step 03: Using Response Matchers to check status and content

  • Step 04: Creating a Basic REST Service in Item Controller

  • Step 05: Unit Testing Item Controller and Basic JSON Assertions

  • Step 06: Digging deeper into JSON Assert

  • Step 07: Writing a REST Service talking to Business Layer

  • Step 08: Writing Unit Test for REST Service mocking Business Layer

  • Step 09: Prepare Data Layers with JPA, Hibernate and H2

  • Step 10: Create Item Entity and Populate data with data.sql

  • Step 11: Create a RESTful Service talking to the database

  • Step 12: Writing Unit Test for Web Layer - Controller - Using Mock MVC

  • Step 13: Exercise & Solution - Writing Unit Test for Business Layer - Mocking

  • Step 14: Writing Unit Test for Data Layer - Data JPA Test

  • Step 15: Writing an Integration Test using @SpringBootTest

  • Step 16: Tip : Using @MockBean to mock out dependencies you do not want to talk to!

  • Step 17: Tip : Creating Different Test Configuration

  • Step 18: Writing Unit Tests for Other Request Methods

  • Step 19: Refactor SomeBusinessImpl to use Functional Programming

  • Step 20: Better Assertions with Hamcrest - HamcrestMatcherTest

  • Step 21: Better Assertions with AssertJ - AssertJTest

  • Step 22: Better Assertions with JSONPath - JSONPathTest

  • Step 23: Easier Static Imports

  • Step 24: Tip : Measuring Test Coverage with Eclipse

  • Step 25: Tip : Keep an eye on performance of unit tests!

  • Step 26: Good Unit Tests


Start Learning Now. Hit the Enroll Button!


Who this course is for:
  • You are a Spring/Spring Boot/Java Programmer and You want to write awesome unit tests for your RESTful Services
  • You want to write awesome unit tests with mocking
  • You want to understand the best practices in writing great unit tests with JUnit, Mockito and Spring Boot Starter Test
  • You want to learn to write great asserts with Hamcrest Matchers, JSON Assert, Assert J and JSON Path libraries