Containers for Real Integration Tests
How are you doing integration tests with your datastore?
* Mocking is not an option since you want to test the actual system.
* There are some in-memory implementations, like H2 or HSQLDB for relational databases, but there are still subtle differences to your production system and not all datastores have in-memory cousins.
* Using the actual datastore in your tests is possible, but managing it, running tests in parallel,... is far from ideal.
So what is the solution? There are some very neat solutions based on containers, namely the Docker-Maven-Plugin and TestContainers. From your tests you can start a lightweight, throwaway instance of your datastore and this talk will walk you through how to do that.