Richtige Integrationstests mit Containern

A presentation at Magdeburger Developer Days in in Magdeburg, Germany by Philipp Krenn

Wie testet man mit Datenbanken?

  • Mocking ist keine Option, da man das tatsächliche System testen möchte.
  • In-Memory-Datenbanken, wie H2 oder HSQLDB, haben kleinere und größere Unterschiede und nicht alle Datenspeicher haben In-Memory-Geschwister.
  • Verwendung und Test-Parallelisierung des eigentlichen Datenspeichers ist alles andere als ideal.

Was ist also die Lösung? Es gibt zwei saubere Ansätze basierend auf Containern: Testcontainers und das Docker-Maven-Plugin. Aus den Tests können leichtgewichtige, wegwerfbare Instanz des jeweiligen Datenbanksystems gestartet werden. Dieser Vortrag zeigt ein praktisches Beispiel vor. Außerdem sehen wir uns das Testcontainer Modul für Elasticsearch an.

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.

Buzz and feedback

Here’s what was said about this presentation on Twitter.