Testing Spring Boot App with JUnit, Mockito & Testcontainers
Testing Spring Boot App with JUnit, Mockito & Testcontainers, available at $94.99, has an average rating of 4.37, with 110 lectures, 1 quizzes, based on 1415 reviews, and has 10560 subscribers.
You will learn about 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 This course is ideal for individuals who are This is course is for beginners as well as professional to teach how to write Unit and Integration tests for Spring boot application. It is particularly useful for This is course is for beginners as well as professional to teach how to write Unit and Integration tests for Spring boot application.
Enroll now: Testing Spring Boot App with JUnit, Mockito & Testcontainers
Summary
Title: Testing Spring Boot App with JUnit, Mockito & Testcontainers
Price: $94.99
Average Rating: 4.37
Number of Lectures: 110
Number of Quizzes: 1
Number of Published Lectures: 105
Number of Published Quizzes: 1
Number of Curriculum Items: 111
Number of Published Curriculum Objects: 106
Original Price: $27.99
Quality Status: approved
Status: Live
What You Will 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
Who Should Attend
- This is course is for beginners as well as professional to teach how to write Unit and Integration tests for Spring boot application.
Target Audiences
- This is course is for beginners as well as professional to teach how to write Unit and Integration tests for Spring boot application.
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 testingfor the Spring boot application.
-
Learn how to do Integration testingusing 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:
-
Java 11+
-
Spring Boot
-
Spring MVC
-
Spring Data JPA ( Hibernate)
-
JUnit 5 Framework
-
Mockito 4 (Latest)
-
Hamcrest framework
-
AssertJ Library
-
JsonPath Library
-
Spring WebFlux
-
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”
Course Curriculum
Chapter 1: Introduction
Lecture 1: Course overview and roadmap
Lecture 2: Best Way to Take This Course and How to Get Help
Lecture 3: What is Unit testing and Integration testing?
Lecture 4: Best practices for Unit testing in Java
Lecture 5: Download Source Code
Lecture 6: Download All the Important Lecture Notes in PDF
Lecture 7: JUnit 5 and Mockito Annotations Cheat Sheets
Lecture 8: This Course Migrated to Spring Boot 3
Chapter 2: Spring Boot Project Setup
Lecture 1: Create and Set up Spring Boot Project in IntelliJ IDEA
Lecture 2: Understanding Spring boot starter test dependency
Lecture 3: Create JPA Entity
Lecture 4: Create Spring Data JPA repository
Chapter 3: Spring Boot – Unit Testing Repository Layer
Lecture 1: Repository layer Unit testing overview
Lecture 2: Spring Boot @DataJpaTest annotation
Lecture 3: Unit test for save employee operation
Lecture 4: Unit test for get all employees operation
Lecture 5: Unit test for get employee by id operation
Lecture 6: Unit test for get employee by email operation (Spring Data JPA query method)
Lecture 7: Unit test for update employee operation
Lecture 8: Unit test for delete employee operation
Lecture 9: Unit test Spring Data JPA custom query method using JPQL with index parameters
Lecture 10: Unit test Spring Data JPA custom query method using JPQL with named parameters
Lecture 11: Unit test Spring Data JPA custom native query with index parameters
Lecture 12: Unit test Spring Data JPA custom Native query with Named parameters
Lecture 13: Refactoring JUnit tests to use @BeforeEach annotation
Lecture 14: Download source code of this section
Chapter 4: Spring Boot – Unit Testing Service Layer
Lecture 1: Service Layer unit testing overview
Lecture 2: Create EmployeeService with saveEmployee method
Lecture 3: Quick Recap of Mockito basics (before writing JUnit tests to use Mock objects)
Lecture 4: Unit test for EmployeeService saveEmployee method
Lecture 5: Using @Mock and @InjectMocks annotations to mock the object
Lecture 6: Unit test for saveEmployee method which throws Exception
Lecture 7: Unit test for EmployeeService getAllEmployees method – Positive Scenario
Lecture 8: Unit test for EmployeeService getAllEmployees method – Negative Scenario
Lecture 9: Unit test for EmployeeService getEmployeeById method
Lecture 10: Unit test for EmployeeService updateEmployee method
Lecture 11: Unit test for EmployeeService deleteEmployee method
Lecture 12: Download source code of this section
Chapter 5: Spring Boot – Unit Test Controller Layer (Unit Test REST APIs)
Lecture 1: Controller Layer unit testing overview
Lecture 2: Overview of @WebMvcTest annotation
Lecture 3: @WebMvcTest VS @SpringBootTest
Lecture 4: Build createEmployee REST API
Lecture 5: Unit test createEmployee REST API
Lecture 6: Build GetAllEmployees REST API
Lecture 7: Unit test GetAllEmployees REST API
Lecture 8: Refactoring JUnit test to use static imports
Lecture 9: Build getEmployeeById REST API
Lecture 10: Unit test getEmployeeById REST API – Positive Scenario
Lecture 11: Unit test getEmployeeById REST API – Negative Scenario
Lecture 12: Build updateEmployee REST API
Lecture 13: Unit test updateEmployee REST API – Positive Scenario
Lecture 14: Unit test updateEmployee REST API – Negative Scenario
Lecture 15: Build deleteEmployee REST API
Lecture 16: Unit test deleteEmployee REST API
Lecture 17: Download source code of this section
Chapter 6: Spring Boot – Integration Testing using Local MySQL Database
Lecture 1: Integration testing overview
Lecture 2: @SpringBootTest annotation overview
Lecture 3: Configure MySQL database for integration testing
Lecture 4: Create a base for Integration testing
Lecture 5: Integration test for create employee REST API
Lecture 6: Integration test for get all employees REST API
Lecture 7: Integration test for get employee by id REST API – Positive & Negative Scenarios
Lecture 8: Integration test for update employee REST API – Positive & Negative Scenarios
Lecture 9: Integration test for delete employee REST API
Lecture 10: Integration testing EmployeeRepository using MySQL database
Lecture 11: Download source code of this section
Chapter 7: Spring Boot – Integration Testing using Testcontainers
Lecture 1: What problem does Testcontainers solve
Lecture 2: Testcontainers overview
Lecture 3: Adding Testcontainers
Lecture 4: Integration Testing EmployeeController using Testcontainers
Lecture 5: Using @DynamicPropertySource
Lecture 6: Singleton containers pattern
Lecture 7: Integration Testing EmployeeRepository using Testcontainers
Lecture 8: Download source code of this section
Chapter 8: Assignments and Solutions
Lecture 1: Assignments for You
Lecture 2: Solution for All the Assignments in One Video
Chapter 9: Quiz – Test Yourself
Chapter 10: Spring WebFlux – Build Reactive CRUD REST APIs
Lecture 1: Spring WebFlux Overview
Lecture 2: Spring Boot WebFlux Application Architecture
Lecture 3: Deploy MongoDB in Docker Container
Lecture 4: Create and Set up Spring Boot Project in IntelliJ IDE
Lecture 5: Create Employee Entity
Lecture 6: Create EmployeeRepository and Understanding Internals
Lecture 7: Create EmployeeDto and EmployeeMapper
Lecture 8: Build Reactive Add Employee REST API
Lecture 9: Build Reactive Get Employee REST API
Lecture 10: Build Reactive Get All Employees REST API
Lecture 11: Build Reactive Update Employee REST API
Lecture 12: Build Reactive Delete Employee REST API
Lecture 13: Download source code of this section
Instructors
-
Ramesh Fadatare (Java Guides)
Software Engineer, Spring Certified, YouTuber and Instructor
Rating Distribution
- 1 stars: 15 votes
- 2 stars: 16 votes
- 3 stars: 107 votes
- 4 stars: 497 votes
- 5 stars: 780 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024