DevOps guy at ZeroTurnaround. JVM. OSS. Apache Groovy Committer. In love with AWS, Docker (adopter since 2014) and the distributed systems.
Unit testing is fine, but without a proper integration testing, especially if you work with external resources like databases and other services, you might not know how your application will behave once it has been 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 was not cross-platform as well.
However, now we can quickly 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.
A year ago we (ZeroTurnaround) decided to join our Docker-based test engine and TestContainers, and now it is open-sourced, available to everyone, so you can test your apps as we do.