Testcontainers – How to use them in your Spring Boot Integration Tests

Probably, the most annoying thing about integration tests is the need for testing infrastructure. If we want to test our Spring Data Repositories, we need a database. We could just use the H2 in-memory database provided by Spring Boot but the problem with this approach is, that H2 is probably not the database we use at runtime. This means, our integration tests don’t tell us if our code works as expected when it runs in the production environment. [Read More]

How to test the Data Layer of your Spring Boot Application with @DataJpaTest

In this Blogpost, I will show you how to test the JPA-based data layer of your Spring Boot Application with @DataJpaTest. You will learn what happens when you use this annotation on a test class and a few ways to customize the default behavior. We will also have a look at an example where we will bootstrap some test data in different ways and write an actual JPA test.

[Read More]

How to test the Data Layer of your Spring Boot Application – an Overview

In this blog post, I will give you an overview of Spring Boot’s capabilities to test the data layer of your application.
There is a vast amount of technologies to choose from when it comes to loading and persisting data. There are not only completely different types of data stores but also different ways to communicate with them. Which combination is the most fitting, depends on your application. Whatever you choose, you should consider testing the components communicating with your data store, to prevent working with the wrong data.
The @Data*Test annotations of Spring Boot offer a great way to test these components in isolation while providing some handy niceties to make your life easier.

[Read More]