We may earn an affiliate commission when you visit our partners.
Ramesh Fadatare (Java Guides)

In this course, you will learn how to write Unit tests and Integration tests in BDD style for Spring Boot applications as well as Spring WebFlux applications using JUnit 5, Mockito, AssertJ, Hamcrest, JsonPath, and Testcontainers frameworks.

Important note: This course updated to use Spring Boot 3.

Type the code along with me in the videos. If you follow along with me then this will enhance your learning experience.

The source code and PDF files (class notes) are available for download.

Spring Boot Overview

Read more

In this course, you will learn how to write Unit tests and Integration tests in BDD style for Spring Boot applications as well as Spring WebFlux applications using JUnit 5, Mockito, AssertJ, Hamcrest, JsonPath, and Testcontainers frameworks.

Important note: This course updated to use Spring Boot 3.

Type the code along with me in the videos. If you follow along with me then this will enhance your learning experience.

The source code and PDF files (class notes) are available for download.

Spring Boot Overview

Spring Boot is an opinionated framework that helps developers build Spring-based applications quickly and easily.

The main goal of Spring Boot is to quickly create Spring-based applications without requiring developers to write the same boilerplate configuration again and again.

Spring Boot is a very popular framework to develop REST web services and microservices.

Spring WebFlux Overview

Spring 5 includes Spring WebFlux, which provides reactive programming support for web applications.

Spring WebFlux internally uses Project Reactor and its publisher implementations, Flux and Mono.

The new framework supports two programming models:

  • Annotation-based reactive components

  • Functional routing and handling

In this course, we will focus on building reactive REST APIs using annotation-based reactive components.

What you'll learn?

  • Learn to write industry-standard Unit and Integration tests in BDD (Behaviour Driven Development) style using Spring Boot Starter Test dependency from scratch

  • Learn how to use BDD (Behaviour Driven Development) format that is given/when/then to write Unit tests.

  • Learn to Unit test the Spring boot application Repository layer

  • Learn to Unit test the Spring boot application Service layer

  • Learn to Unit test the Spring boot application Controller layer

  • Learn how to do Integration testing for the Spring boot application.

  • Learn how to do Integration testing using Testcontainers // very important

  • You will learn to use the most important Unit Testing

  • You will learn to write Unit tests using Mocks and Stubs created with Mockito

  • Learn how to use Mockito annotations to create mock objects.

  • Learn to Write Integration Tests using a MySQL database.

  • You will learn to Write

  • Learn Building Reactive"

    "Ramesh explains things very well. His instructions are easy to follow and understand. The course is very beneficial"

    " Well structured course covering all layers of testing

    Implement each method with the "right to the point" explanation

    Nice introduction to TestContainers

    Easy to code along

    Fast answers from the instructor

    Looking for more deep dives courses such as Maven, Gradle, DevOps tools used in production"

    "Awesome course.

    All the basics needed to test a spring application are discussed, and more.

    Exactly what i needed and coudn't find anywhere.

    Ramesh is a great instructor.

    Thank you sir . "

    "A very good course explained with excellent examples.

    Lot to learn from this course, covered every layer of a typical Spring Boot application."

    "I really appreciate the trainer Ramesh to providing is this amazing course,

    the content of this course and explanation is great."

    "Wonderful Sir, Loved the way u explain things. And I am very lucky that I found this course at right time."

    "I am personally very impressed with this course, if you dont have any prior experience of unit testing I am pretty sure that after taking this course you will feel more confident and I would be happy if the lecturer could also release some training tutorials about Microservices and TDD approach. thanks and wish you all the successes."

    "Even though as a experience guy, this course was very useful.."

    "The course is great and covers all I need to create my tests.

    I truly recommend it ."

    "Great course. This is the second course I am taking from Ramesh. Interesting so far."

    "Awesome course and highly recommend it."

    "This course is a good match for me. Especially so because it's new and up to date."

    "great teacher and great course"

    "Yes this is a good match for me and I am glad I enrolled for this. I personally prefer teaching of ramesh.fadatare. I started to watch his videos from YouTube and also gone through his comments to few problems in stack overflow. I thought it would be good if I can go through all his videos in one go."

    "this is what they ask you to do on a real job... please do more courses ramesh.. amazing as always"

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Learn to write industry-standard unit and integration tests in bdd (behaviour driven development) style using spring boot starter test dependency from scratch
  • Learn how to use bdd (behaviour driven development) format that is given/when/then to write unit tests.
  • Learn to unit test spring boot application repository layer
  • Learn to unit test spring boot application service layer
  • Learn to unit test spring boot application controller layer - unit test rest api's
  • Learn how to do integration testing for the spring boot application
  • 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 stubs created with mockito
  • Learn how to use mockito annotations to create mock objects.
  • Learn to write integration tests using a mysql database
  • You will learn to write independent integration tests for restful web services talking with multiple layers - controller, service, and repository layers.
  • Learn to write integration tests using a testcontainers
  • Learn building reactive crud rest apis using spring webflux and mongodb
  • Learn unit testing reactive crud rest apis using junit and mockito
  • Learn integration testing reactive crud rest apis using webtestclient
  • Show more
  • Show less

Syllabus

Introduction
Course overview and roadmap
Best Way to Take This Course and How to Get Help
What is Unit testing and Integration testing?
Read more

You can download the source code of this section as a zip file (attached to this lecture)

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Demystifies Spring Boot and Spring WebFlux with emphasis on Reactive programming
Provides complete hands-on practice with Junit 5, Mockito, AssertJ, Hamcrest, JsonPath, and Testcontainers frameworks
Covers all layers of full stack testing with an emphasis on unit testing
Introduces Spring Boot Starter Test dependency for BDD style tests
Teaches industry-standard unit and integration testing practices
Employs a practical approach with clear step-by-step instructions

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Testing Spring Boot App with JUnit, Mockito & Testcontainers with these activities:
Review key Java fundamentals
Reinforces core concepts of Java by revisiting key concepts before starting the course.
Browse courses on Java Basics
Show steps
  • Review the Java SE Tutorial
  • Complete Java SE Tutorial exercises
  • Solve Java coding problems (e.g., LeetCode)
Follow online tutorials on JUnit 5 and Mockito
Provides hands-on practice with the testing frameworks used in the course.
Show steps
  • Find tutorials on JUnit 5 and Mockito
  • Follow the tutorials and complete the exercises
Write unit tests for Spring Boot application components
Strengthens understanding of unit testing and its implementation in Spring Boot applications.
Show steps
  • Create a simple Spring Boot application
  • Write unit tests for the application components (e.g., repository, service, controller)
  • Run the unit tests and debug any failures
Show all three activities

Career center

Learners who complete Testing Spring Boot App with JUnit, Mockito & Testcontainers will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser