Richtige Integrationstests mit Containern

A presentation at Developer Week in in Nuremberg, 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.