Testing Spring Boot App with JUnit, Mockito & Testcontainers
3 šŸ‘€
Harry Potter

Harry Potter

Jun 30, 2023

Testing Spring Boot App with JUnit, Mockito & Testcontainers

Write Unit tests and Integration tests for Spring Boot App and Spring WebFlux App using JUnit, Mockito & Testcontainers

 

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 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

 

 

Requirements

  • Java programming
  • Good to know JUnit and Mockito basics
  • Good to know Spring Boot basics
  • Basic understanding of using IntelliJ IDEA

Description

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 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 by talking with MULTIPLE LAYERS - controller, service, and repository layers.
  • Learn Building Reactive CRUD REST APIs using Spring WebFlux
  • Learn Unit Testing Reactive CRUD REST APIs
  • Learn Integration Testing Reactive CRUD REST APIs

Tools and Technologies used in this course:

Technologies and Libraries:

  1. Java 11+
  2. Spring Boot
  3. Spring MVC
  4. Spring Data JPA ( Hibernate)
  5. JUnit 5 Framework
  6. Mockito 4 (Latest)
  7. Hamcrest framework
  8. AssertJ Library
  9. JsonPath Library
  10. Spring WebFlux
  11. MongoDB

IDE:

  • IntelliJ IDEA

Database:

  • H2 In-memory database ( for repository layer testing)
  • MySQL database ( for Integration testing)
  • MongoDB database (for Integration testing)

 

Amazing reviews from Students on this course:

"Ramesh is a great teacher, he provides very clean explanations on complex concepts."

 

"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"

Who this course is for:

  • This is course is for beginners as well as professional to teach how to write Unit and Integration tests for Spring boot application.

 

Wait a second...

Watch šŸ‘‰How to download video

Testing Spring Boot App šŸ˜ƒ
Zip/rar files password can be one of these :- FreeCourseUniverse OR CheapUniverse
Membership
Harry Potter

Harry Potter

Hey Guys We are Tech Enthusiasts and we know knowledge is key to success ! We are here to open path to your success by providing what you want. Today education == business. Our moto is education should be accessible by any person who is not able to purchase overpriced content.

Leave a comment

0 Comment

Membership

Membership Plans

We are bringing so many new things at the fraction of a cost....

    Download

    How to download ??

    Affiliate

    This site is hosted on Digital Ocean

    Get $200 credit Instantly

    Offer available for limited time
    ( Take advantage of free credits šŸ‘‡ )
    DigitalOcean Referral Badge

    Related Posts

    Taken Down Resources

    Tags

    Ā© 2023 CheapUniverse. All Rights Reserved