Integration tests are essential to test server application interaction with infrastructure services like databases, message brokers or others. The Testcontainers framework makes it easy to set up all infrastructure services your application code needs by using Docker images during the test execution. By doing so, integration tests can run independent of any external infrastructure and are more robust and faster to execute.
This session will show you how easy it is to use Testcontainers to test Java microservices that use external services, by example of a SpringBoot application. You will learn which services are supported out-of-the-box by Testcontainers, and how to write adapters for containers that are not directly supported. Finally, I will discuss the implications on test execution time and on the design of tests.