Leanpub Header

Skip to main content

Testing Spring Boot Applications Masterclass Workbook

Achieve Confidence in Every Commit

Complementary ebook for the Testing Spring Boot Applications Masterclass.

Don't buy this ebook separately without enrolling in the online course.

You'll get a coupon to download this ebook when purchasing the Masterclass (Bundle Edition and above).

Minimum price

$99.00

$99.00

You pay

$99.00

Author earns

$79.20
$

...Or Buy With Credits!

You can get credits with a paid monthly or annual Reader Membership, or you can buy them here.
PDF
EPUB
About

About

About the Book

The "Testing Spring Boot Applications Masterclass" is an in-depth online course designed for Java developers who want to master testing their Spring Boot applications. It covers a wide range of topics, from the fundamentals of testing with JUnit 5 and Mockito to advanced concepts like Testcontainers, integration testing, and end-to-end testing.

The course is structured to take participants from basic to advanced testing techniques, ensuring they understand not just how to write tests, but also why certain testing practices are important.

Participants will learn to leverage Spring Boot's testing features to write unit tests, integration tests, and end-to-end tests effectively. The course includes lessons on how to use test slices for slicing the context and focusing on the component under test, thereby speeding up the test suite. It also dives into testing security, transactions, and Spring Data JPA repositories, which are crucial for ensuring application robustness and reliability.

The course is hands-on, with practical exercises and real-world examples that allow learners to apply what they've learned immediately. It emphasizes the importance of test-driven development (TDD) and how to implement it within Spring Boot applications, fostering a development process that leads to cleaner code and fewer bugs.

By the end of the course, attendees will be proficient in testing Spring Boot applications, equipped with the knowledge to implement a comprehensive testing strategy in their projects. This mastery includes understanding how to mock external services, configure test environments, and integrate testing into the CI/CD pipeline, ensuring that applications are thoroughly tested at every stage of development.

The course aims to instill confidence in developers, making testing a natural and integral part of the software development lifecycle.

Don't buy this ebook separately without enrolling in the online course.

You'll get a coupon to download this ebook when purchasing the Masterclass (Bundle Edition and above).

Author

About the Author

Philip Riecks

Philip is an independent IT consultant from Germany, specializing in Java, Spring Boot, and AWS. He helps teams build confidence in developing, changing, and deploying their Java Spring Boot applications by making testing easier and more effective.

Under his slogan, "Testing Spring Boot Applications Made Simple," Philip shares practical recipes, tips, and tricks through his blog, online courses, and YouTube channel. His insights empower developers to create reliable, high-quality applications with less stress and more success.

When he’s not consulting, Philip is busy sharing his knowledge at rieckpil.de - drop by to learn more!

Leanpub Podcast

Episode 229

An Interview with Philip Riecks

Contents

Table of Contents

Preface

  1. About this eBook
  2. Errata & Submitting Feedback
  3. Technical Reviewers

Introduction

  1. Application Setup
  2. Migration to Spring Boot 4
  3. Migration to Spring Boot 3
  4. Application Walkthrough

Introduction to the Spring Boot Starter Test Dependency

  1. Anatomy of the dependency
  2. Managing Library Versions
  3. Introduction to JUnit 6
  4. Introduction to Mockito
  5. Additional Test Libraries in Spring Boot Starter Test

The Secret Weapon to Test Your Database Layer: @DataJpaTest

  1. Introduction to the JPA Domain Model
  2. Start Using @DataJpaTest.
  3. Resolving Context Startup Errors
  4. Why and When to Use the TestEntityManager
  5. Transactional Support
  6. Using P6SPY for More Insights
  7. Replacing the In-Memory Database
  8. Solutions to Pre-Populate Your Database

The Secret Weapon to Test Your Web Layer @WebMvcTest

  1. Why Unit Tests Are Not Enough
  2. Introduction to @WebMvcTest
  3. Defining On Which Level to Mock
  4. More Tests for the BookController
  5. Advanced Usage
  6. Testing the First Secured Endpoint
  7. Happy-Path Testing For Creating Reviews
  8. Access to Role-Based Secured Endpoints

Testing HTTP Clients Using the RestTemplate

  1. Introduction to Testing HTTP Clients
  2. The Power of @RestClientTest
  3. First Test Using the MockRestServiceServer
  4. Test a Failure of the Remote System

Testing HTTP Clients Using the WebClient

  1. Required Setup for the MockWebServer
  2. Testing the Happy-Path Using the MockWebServer
  3. Testing Failure of the Remote System

Testing Business Logic in Isolation

  1. Which Logic to Verify
  2. Getting the Setup Right for Testing the ReviewService
  3. Verify the First Error Scenario
  4. Ensure We Don’t Store Reviews With Bad Quality
  5. Happy-Path Testing For Storing a Review

Testing a Custom Application Slice

  1. Choosing the Application Part for Isolated Testing
  2. Introduction to LocalStack
  3. Creating a Spring Application Context With Only One Message Listener
  4. Understanding the Spring Cloud AWS Auto Configuration
  5. Overriding the AWS SQS client
  6. Creating a Local SQS Queue and Applying the Configuration
  7. Happy-Path Testing for the Whole Listener Process

Remaining Setup to Start the Whole Spring Boot Application

  1. What’s Currently Missing to Start the Whole Context
  2. First Try to Start the Whole Context
  3. Introducing WireMock to Mock HTTP Communication
  4. Creating an ApplicationContextInitializer for WireMock
  5. Mocking the OpenID Configuration Response
  6. Mocking the JWKS (JSON Web Key Set) Response
  7. Making Use of the WebTestClient to Access the Backend
  8. Creating a Valid JWT to Access Our Endpoints

Writing Integration Tests for Our Application

  1. Verifying the Book Synchronization Process
  2. Refactor Our WebClient to Mock the HTTP Response
  3. Ensure Users Can Create Reviews
  4. Develop the Missing API Endpoint Test Driven (TDD)
  5. Recap About Integration Tests

Writing Web Tests: Providing The Whole Application Infrastructure

  1. What’s Missing Compared to Writing Integration Tests
  2. Creating a Web Test Application Profile
  3. Using Testcontainers to start the Docker Compose Environment
  4. Writing the First Test With Selenide
  5. Making Screenshots During Test Execution
  6. Further Hints on the Web Test Setup
  7. Using Testcontainers With Selenide
  8. Recording the Web Test With a Video

Best Practices

  1. Spring TestContext Caching

Postface

  1. Work With Me
  2. Certificate of Completion

Changelog

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub