Spring Boot PostgreSQL - Integration Testing with Testcontainers - Example
In this section, we will learn how to test Spring Boot, Spring Data JPA, and PostgreSQL based application using Testcontainers. 1. What we will build? We will create a web application with Spring Boot, Spring Data JPA and PostgreSQL database. The application will consist of three layer, ie. a Controller, a Service, and a Repository layer. Controller layer takes care of mapping request data to the defined request handler method. Once response body is generated from the handler method, it converts it to JSON response. Service layer facilitates communication between the controller and the repository layer. We are using Spring Data JPA for managing database operations, so we can use Spring Data JPARepository interface. **Finally we will do a integration testing with help of Testcontainers to verify our system is working as expected. 2. Testcontainers Testcontainers is an open source testing library that allows us to run docker containers directly in our spring boot application in orde