Member-only story

Integration testing of SpringBoot with Postgres using TestContainers

Saurav Kumar
2 min readJun 24, 2023

--

Testing is an essential part of software development. It helps to ensure that the code is working as expected and that any changes do not introduce new bugs. When testing a Spring Boot application that connects to a PostgreSQL database, it is important to use a real database in the tests. This ensures that the tests are as realistic as possible and that they catch any errors that would occur in production.

Testcontainers is a library that makes it easy to run Docker containers in unit tests. This allows you to use a real PostgreSQL database in your tests without having to set up a separate database server.

To use Testcontainers to test your Spring Boot application, you will need to add the following dependencies to your project:

<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<version>1.18.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.18.3</version>
<scope>test</scope>
</dependency>

Create PostgresSQLContainer

This test first creates a PostgreSQL container using the postgreSQLContainer variable. The container is configured with the same…

--

--

Saurav Kumar
Saurav Kumar

Written by Saurav Kumar

Experienced Software Engineer adept in Java, Spring Boot, Microservices, Kafka & Azure.

Responses (1)