Master Testing Spring Boot Applications 

Learn everything you need to know about testing Spring Boot applications

The last early-bird batch started*

*the Masterclass is incrementally released (module after module) and you have the chance to sign up early for a massive discount

08
Days
10
Hours
46
Minutes
16
Seconds

... left until the 30% discount expires 

Send me some examples first!

Knowing how to effectively test separates the serious engineer from a hobby developer

“Quality is not an act. It is a habit.” – Aristotle

Do you remember writing your first Spring Boot application? You were excited that you now finally expose data via an API and can connect to a database.

Testing your application was the last thing you could think of at this moment.

Once you start using Spring Boot in a professional environment there is no way around testing. Testing your application gives you confidence, fearless deployments on Friday afternoons and a good night of sleep.

Most tutorials and courses about testing barely go beyond the Hello World example of testing a calculator.

This does not prepare you for the real world where your application faces database access, external systems, messaging system, network, etc.

There are so many great libraries and techniques out there for the Java ecosystem when it comes to testing. Mastering them all, right after you understand the basics about Spring Boot, is hard.

Testing can be joy, if you are familiar with all the great tools you have access to: JUnit, Mockito, AssertJ, Hamcrest, JsonPath, JSONAssert, Testcontainers, Selenium, LocalStack, Awaitility, and not to forget the whole Spring Testing support.

Especially with Spring Boot you get so much functionality when it comes to testing. What you need are recipes to tackle testing different parts of your applications and then apply them.

This Testing Spring Boot applications Masterclass is all about making you an expert when it comes to testing Spring Boot applications in an efficient way.

All you need to know about testing
Spring Boot applications

The number of testing libraries is huge in the Java ecosystem. One might get overwhelmed with all the different solutions. 

This online Masterclass guides you through every testing library you need to verify your Spring Boot application is working as expected.

After working with this course, you not only have recipes at hand to test different parts of your application, but you are also familiar with industry best practice.

Want some first-hand insights to the Masterclass?

Subscribe to the newsletter and I'll send you four Masterclass preview lessons from different modules to your inbox

Enroll now and get a early bird discount for the last time! 

Last early-bird discount: 30% off the final price


Here’s What You’ll Get When You Sign Up

Whether you just started with Spring Boot or are already using it in several projects, this Spring Boot Testing Masterclass guides you through all relevant parts of testing Spring Boot applications.

Understand what and how to test

You are unsure which parts of your application to test? There is a good chance that you are not focusing on the relevant parts of your application you should test.

Go beyond trivial unit testing

After working with this course you'll have recipes at hand to test all non-trivial parts of your application like database access, HTTP communication, using cloud services (e.g. SQS from AWS), etc.

Master different testing libraries

Not only will you be able to use all presented testing libraries for your application, but also understand what they are about and when to use which. Knowing when to use which library is a key skill.

Best practices for testing

This Masterclass includes an own section about industry best practices for testing applications. Make use of knowledge from years of writing tests for enterprise applications.

Here’s what what the first early-bird students say about this course

Vlad Flore Course Student

Vlad Flore

Softtware Engineer - Homepage

Testimonial on Twitter


Bought it a couple of days ago and had a look at it -> it's awesome! Really like the tech stack and the project looks altogether very professional! Lots of good stuff in there!


Joined with the Early-Bird Batch #1

Wim Deblauwe Course Student

Wim Deblauwe

Software Engineer - Homepage

Testimonial via Mail


Philip has made a fantastic overview of the full testing landscape of Spring. The videos are clear and explain details and common pitfalls in great depth. Looking forward to the rest of the course.


PS: Wim is also book author of the Practical Guide to Building an API Back End with Spring Boot


Joined with the Early-Bird Batch #2


Siva Course Student

Siva

Software Engineer and Blogger

Detailed review of the Masterclass on his blog


I got an opportunity to review the course I find it wonderful for learning how to test Spring Boot applications leveraging modern testing frameworks and libraries....


I would highly recommend Masterclass for anybody working with Spring Boot applications.


Read the full review here.


Joined with the Early-Bird Batch #7

Course curriculum

Overview of the different Masterclass Modules

1

Module 1: Introduction 

We'll start with an application walk-through, to get you familiar with the code base we test throughout the Masterclass.


At the end of this module you'll be able to start the Book Reviewr application and its infrastructure components on your machine. (already available)

2

Module 2: Testing with the Spring Boot Starter Test

Getting familiar with the swiss-army knife that every Spring Boot project includes: Spring Boot Starter Test.


We'll cover all testing libraries that come with this starter and take a detailed look into testing with JUnit 5 and mocking with Mockito. (already available)

3

Module 3: Testing database access

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.(already available)

4

Module 4: Testing the web layer

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. (already available)

5

Module 5: Testing further slices of our application

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. (already available)

6

Module 6: Writing tests with the whole Spring Context

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. We'll introduce WireMock to mock the HTTP interaction with the identity provider or any other system during application startup (e.g. Salesforce, Stripe, SAP, etc.). (already available)

7

Module 7: Writing web tests

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.). (already available)

8

Module 8: Best practices for integration testing

Maven/Gradle configuration, naming techniques, CI/CD considerations, etc. (release mid 25th October)

Talk is cheap, show me some real lessons!

About The Course Teacher, Philip

Philip is a Senior Java Software Engineer and working in Berlin for Germany's leading online real estate marketplace. He started with Spring Boot back in 2015 and has used it for multiple applications in several industries. Testing is an integral part of his daily work as he is a profound craftsman.


Once Philip understood the Java testing  landscape, writing tests makes as much fun as writing production code for him. He is also a won around TDD (Test Driven Development) practitioner and constantly shares testing techniques among his colleagues.


He started teaching Java topics on YouTube in 2018 and is writing content about the Java ecosystem on his blog for now more than three years.


Besides that, he's also actively helping developers on StackOverflow with their questions around testing .


Philip Riecks (rieckpil)

Here’s what people are saying about the course instructor

Tom Hombergs reflectoring.io

Tom Hombergs

Founder of reflectoring.io

Philip is a dedicated developer and doesn't give up until he has understood the details of a topic.


In his courses and articles, he transfers this knowledge to you and they leave you smarter than before. 


Looking forward to working with you in the future, Philip

Vlad Mihalcea

Vlad Mihalcea

Founder of vladmihalcea.com

Philip is a very skilled content creator who managed to publish high quality articles and videos that cover a wide range of topics, like Spring, Java EE, or Jakarta EE.


He pays a lot of attention to details, so if you enjoyed his articles and videos, you are surely going to love his video courses.

Marco Behler

Marco Behler

Founder of marcobehler.com

How can you not love what Philip is doing?


Tons of actionable tutorials and content across the Jakarta EE and Spring universes.


Highly recommended!

Why you should invest in learning how to test Spring Boot applications

When was your last outage or downtime caused by a bug that could have been prevented with a test? How much did your company lost in direct revenue or indirectly by losing customer satisfaction?


Putting in numbers is hard but I guess every minute a non trivial application is not working as expected results in costs or lost revenue of $ 1.000 - 10.000+


On the other side, consider how uncertainty paralyses you when you want to refactor an existing code base that lacks tests. Or you are new to a project and want to introduce a new feature. Testing things afterwards manually is a cumbersome and repetitive tasks. 


We as engineers are lucky to have tools around us that can automate such cumbersome and repetitive tasks. So let's start using them by learning how to effectively test our applications.


Once you know your testing toolkit, writing tests becomes joyful.


This is what each Module covers in detail 

Module 1
  • course application walk-through (Book Reviewr)
  • understand the AWS setup for this application
  • get to know the OAuth2 setup of the application using Keycloak
Module 2
  • discover all testing libraries that the Spring Boot Starter Test includes
  • getting started with JUnit 5 (parallelization, custom extensions, etc.) 
  • writing assertions for JSON payloads using JSONAssert & JsonPath
Module 3
  • writing isolated tests for your database layer using @DataJpaTest
  • pitfalls when writing tests that include the EntityManger
  • use Testcontainers to write tests against your database
Module 4
  • effectively test your web-layer in isolation using @WebMvcTest
  • provide authentication with ease due to Spring Security Test
  • write tests against a mocked Servlet environment using MockMvc
Module 5
  • write tests for components that use the RestTemplate or WebClient
  • testing business logic in isolation
  • write custom test slices e.g. for the SQS subscriber and include only relevant beans to the Spring Test Context
Module 6
  • mock components that are required during application startup (e.g. identity provider, Salesforce, external APIs, etc.)
  • how to structure and what to write  integration tests for 
  • mock Keycloak or any other OAuth2 authentication server
Module 7
  • get rid of manual WebDriver setup efforts (Testcontainers & Selenide)
  • record the web test and make screenshots on-demand
  • start a Docker Compose environment for your end-to-end test
Module 8
  • tips & tricks around testing in general
  • making the most of Spring's Context caching to speed up your tests
  • practical advice for your test structure & naming conventions

Course Editions are currently on Sale

00
Days
23
Hours
59
Minutes
55
Seconds
Testing Spring Boot Applications Fundamentals
FUNDAMENTALS

Getting Started with Testing Spring Boot Applications including an introduction to

 JUnit 5 and Mockito

$

19 31

Single-User License

  • Getting Started with the Spring Boot Starter Test swiss-army knife
  • Detailed introduction to JUnit 5 & Mockito
  • Covering Hamcrest, AssertJ, JsonPath, and JSONAssert
  • Access to the real-world course application source code
  • 22 video lessons with 2h content
Testing Spring Boot Applications Bootcamp
BOOTCAMP

Get access to the first four Modules covering unit testing and @DataJpaTest & @WebMvcTest

$

47 74

Single-User License

  • Lifetime access to the first 4 Modules of the Masterclass
  • Free updates on new lessons
  • Unit testing Spring Boot Applications
  • Writing tests for your database and web layer with @DataJpaTest and @WebMvcTest
  • Access to the real-world course application source code
  • 61 video lessons with 4h content
Testing Spring Boot Applications Masterclass
Masterclass

Get full access to the whole course content. Covering unit, integration and web tests for Spring Boot Applications.

$

111.3 159

Single-User License

  • Lifetime access to all 8 Modules of the Masterclass
  • Free updates on new lessons
  • Unit testing Spring Boot Application
  • Writing efficient integration tests for all parts of the application
  • Writing web tests that verify your application end-to-end
  • Advanced testing techniques with Testcontainers, LocalStack, WireMock, Awaitility, Selenide, etc.
  • Access to the real-world course application source code
  • 115 video lessons with 8h content
  • Access to the private Slack workspace for Q/A sessions with the instructor
08
Days
10
Hours
46
Minutes
16
Seconds

... left to register for the Masterclass with discounted price as an early-bird user using the coupon code


TSBAM_F3MD4


... and receive a 30% discount

The Masterclass will be available for its full price in

08
Days
10
Hours
46
Minutes
16
Seconds

100% Satisfaction Guarantee for 30-Days

You are not satisfied with the content of the Masterclass? No problem!


Contact me (via Mail, Slack, Twitter, etc.) within 30 days after you got access to the Masterclass and I'll send you a refund. 


Please note that you can't re-join afterwards for the same early-bird price .

New to Testing Spring Boot Applications?

Frequently Asked Questions

How long does it take to complete the courses?

Fundamentals: 2h+

Bootcamp: 4h+

Masterclass: 8h+

As I recommend to code in parallel, I assume it takes you about 10 hours in total to work through this Masterclass and get the most of it.

Can I get a refund?

Yes, I offer a 30-days back money gurantee

What is the difference between the editions?

As the skill level & interest of every course student is different, I want to offer several starting points to master Testing Spring Boot Applications.

In a nutshell:

Fundamentals: Great for everyone that just started Testing Spring Boot applications and wan't to learn more about JUnit 5 & Mockito.

Bootcamp: This edition covers the first four Modules of the Masterclass and includes unit-testing, web-layer and database-layer testing using @WebMvcTest and @DataJpaTest.

Masterclass: Everything you need to know about Testing Spring Boot Applications: unit, integration, and web tests including advanced testing techniques.

Can I upgrade to the next higher edition?

At the end of both the Fundamentals and Bootcamp edition you'll get the chance to upgrade to the next higher edition.

You won't have to pay the full price and get a limited discount.

Is this course for me?

You are a Java developer, work with the Spring framework and want to write tests with joy?

Then it definitely is!

I won't explain what Spring and Spring Boot is all about as there are quite good resources for this available. I assume you have basic knowledge with Spring Boot and Java.

What library versions are in use?

I'm constantly updating all library version and try to be up-to-date.

Right now they are:

  • Spring Boot 2.3.0
  • Testcontainers 1.13.4
  • WireMock 2.27.1
  • Selenium 3.141.59
  • JUnit 5.6.2
  • Mockito 3.3.3
  • Awaitility

When do you expect all modules to be available?

With my current plan I'm expecting all modules of the Testing Spring Boot Applications Masterclass to be available at the end of October.

You can already sign up for the Masterclass and get a massive discount. Each upcoming module (~ one is uploaded module per week) is free-of-charge.

Can I watch a demo lesson?

Yes, subscribe to the newsletter and I'll send you four lessons from four different modules.

Can I get a discount as a student?

Yes, just send me a confirmation about you being a student and I'll send you a special coupon code.

Where can I register?

If you already have an account for my online courses then you can reuse this account. Otherwise create your course account here (no payment info required, just email).

Where can I reset my password?

If you forgot your password or want to reset it, you can reqeuest a new password here.

Where can I login?

You can either login with your course account inside the course sections or here.

How many videos are already available?

As of the 11th of October the first seven modules are available with 115 videos and a duration of 7h in total.

Where can I get a multi-user license?

If you are part of a team and want to use this course together with your co-workers, reach out to me ([email protected]) and I'll offer you a reduced price per active user.

What does early-bird mean?

While the application we'll use throughout the Masterclass is already developed and I have the learning parts ready, not everything is recorded and uploaded yet.

That's why I offer an early-bird access where you join during the course creation and benefit for a cheaper price will waiting for the upcoming modules to be released.

You can find the currently available modules at the agenda of the Masterclass and can expect ~ one module to be released each week.

Do you offer an affiliate program?

Yes!

If you are convinced about the Masterclass and want to earn money, you can join as an affiliate.

I'm offering 30% commission for each sale that was made with your link (2 week cookie period).

Not convinced yet?

Let me send you four Masterclass lessons that are part of different Modules. This way you can see for yourself first-hand the quality of the lessons.

The mission behind this Masterclass

I believe this Masterclass can have an impact in the overall quality of the applications we write and use. Everybody is benefiting from less bugs and less outages as software is indispensable from our daily life .


As I'm also part of interviewing new candidates, I can see that basic testing techniques is something that almost every Junior Developer I interviewed is missing. Having such skills also uplifts your chances of getting a job. 


Not only does it make you a better engineer, but also once you apply the techniques presented in this Masterclass, your coworkers' skills will grow too. Let's spread the news that testing can be fun and is an essential tool of every serious engineer.


Have fun working with this Masterclass,


Your instructor,

 Philip

>