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
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.
WHATOURLEARNERSARESAYING:
5 STARS- 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.
5 STARS- Excellent and to the point course on Unit testing with good references.
5 STARS- 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...
5 STARS- 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.
5 STARS- 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.
5 STARS- Needed it for new client project. Excellent source of concise tutorials for JUnit of microservices.
5 STARS- 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.
COURSEOVERVIEW
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 easysteps. 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.
COURSEHIGHLIGHTS
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!