About this course
Learn everything you need to know about testing Spring Boot applications.
Make the most of testing libraries like JUnit 5, Mockito, Selenium, WireMock, Testcontainers, LocalStack, Awaitility, Selenide, and Spring's excellent test support while using a real-world application example: Java 14, Spring Boot 2.4, React, TypeScript, AWS, PostgreSQL, and Keycloak.
Get more information about this Masterclass here.
Introduction to the Masterclass
Discover the testing libraries that every Spring Boot application has on-board out-of-the-box: JUnit 5, Mockito, AssertJ, Hamcrest, JSONAssert, JsonPath
Start writing efficient tests for your database layer while utilizing Spring Boot test features like @DataJpaTest, TestEntityManager, @Sql, etc.
Furthermore, with this module you'll start using Testcontainers to replace the default in-memory database, learn how you can pre-populate your database, and understand the pitfalls when writing tests where the EntityManger is involved.
MockMvc to the rescue!
Learn how to effectively test your web-layer (@RestController and @Controller) in isolation. You have your endpoints secured with Spring Security? No problem! There is great support available to ensure only authenticated users with the correct privileges reach your endpoints.
Ever wanted to know how to test your WebClient or RestTemplate HTTP calls? How to ensure your business logic is working as expected and how to verify your messaging controllers?
In this module, we'll tackle further slices to effectively test different parts of our application in isolation. In addition, we'll write our own test slice.
It's time to write integration tests using @SpringBootTest!
With the knowledge of previous modules, we can mock almost any external infrastructure component, except Keycloak. Therefore we'll make use of WireMock to mock the HTTP interaction with the identity provider or any other system during application startup (e.g. Salesforce, Stripe, SAP, etc.).
Writing end-to-end tests to ensure users can interact with your application.
Having automated web-tests for your happy-paths can literally save your ass. We'll make the most of Selenium and Selenide by verifying the Book Reviwr application without any manual WebDriver setup (including VNC recording, screenshots on failure, etc.).
Build tool configuration, test strategies, naming strategies, testing static methods, working with time, test report visualization within your CI (e.g. Jenkins, GitLab CI, Azure DevOps) server, etc.
... and last but not least: Drastically reduce your build times with Spring's Context Caching mechanism.
Please log in again. The login page will open in a new tab. After logging in you can close it and return to this page.