Removing complexity from integration tests using Testcontainers!

A presentation at DevOpsCon London in in London, UK by Oleg Šelajev

Unit tests are great, but without proper integration testing, especially if you work with microservices, you might not know how your application behaves once it will be deployed to a real production environment. In this talk I would like to show how you can use Testcontainers – popular testing libraries for Go, Java, Node, Python, and even Rust, that provide lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. We will integrate it into a typical microservice example and use real PostgreSQL databases and local Kafka clusters to test it, will isolate it from other services, then start Selenium browsers in Docker and test our application, and all with the same library! You’ll learn everything necessary to start adding powerful integration tests to your codebase without the headache of managing external service dependencies manually!