Philipp Krenn

portfolio img 1

Philipp ist Teil des Infrastructure Teams und Developer Advocate bei Elastic und spricht regelmäßig über Volltextsuche, Datenbanken, Infrastrukturthemen und Sicherheit. Außerdem organisiert er mehrere Meetups in Wien.

Twitter: @xeraa
Web: www.elastic.co

 

Richtige Integration-Tests mit Testcontainern

Wie macht man richtig Integrations-Tests mit Datenbanken?
* Mocking ist oft keine Option, da man das tatsächliche System testen möchte.
* Es gibt einige In-Memory-Implementierungen, wie H2 oder HSQLDB für relationale Datenbanken, aber es gibt immer noch kleinere und größere Unterschiede zum jeweiligen Produktionssystem und nicht alle Datenspeicher haben In-Memory-Geschwister.
* Die Verwendung des eigentlichen Datenspeichers in Tests ist möglich, aber es ist alles andere als ideal diese zu verwalten, Tests parallel auszuführen,…

Was ist also die Lösung? Es gibt einen sehr sauberen Ansatz basierend auf Containern: TestContainers (https://www.testcontainers.org). Aus den Tests können leichtgewichtige, wegwerfbare Instanz des jeweiligen Datenbanksystems gestartet werden. Dieser Vortrag zeigt ein praktisches Beispiel, nachdem wir zuerst die Theorie dahinter besprochen haben.


Slides