TestContainers – integration testing without the hassle

By Anton Arhipov

Elevator Pitch

In this talk I would like to spread the word about TestContainers – a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

Description

Unit testing is nice, but without a proper integration testing you might not know how your application will behave once it’s deployed to the real environment.

Before the Docker, configuring the environment for integration testing was painful – people were using fake database implementations, mocking servers, usually it wasn’t cross-platform as well. But now, we can easily prepare the environment with Docker for our tests.

In this talk I would like to spread the word about TestContainers (https://github.com/testcontainers/testcontainers-java) – a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

Notes

This is the general overview of TestContainers library, including a few scenarios for integration testing: - Integration testing with a real database - Running UI tests with different browsers - Testing javaagent integration