Real Integration Tests for Your Datastore

A presentation at TestingStage in in Kyiv, Ukraine, 02000 by Philipp Krenn

How are you testing with your database?

  • Mocking is not an option since you want to test the actual system.
  • In-memory databases, like H2 or HSQLDB, have subtle differences and not all datastores have in-memory cousins.
  • Managing and running tests in parallel against the actual datastore is a pain.

So what is the solution? There are some very neat solutions for running embedded datastores 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 three different approaches and how to make them work for your tests.

Video

Resources

The following resources were mentioned during the presentation or are useful additional information.

  • GitHub Demo Code

    Demoing multiple approaches of integration tests with Elasticsearch.