Richtige Integrationstests mit Containern

Wie macht man Integrationstests mit Datenbanken?

* Mocking ist keine Option, da man das tatsächliche System testen möchte.
* In-Memory-Datenbanken existieren entweder nicht oder verhalten sich zu unterschiedlich.
* Die Datenbank selbst ist für Tests schwierig zu verwalten und zu parallelisieren.

Was sind mögliche Lösungen? Entweder eine Embedded-Implementierung oder Container, speziell Testcontainer und das Docker-Maven-Plugin. Aus den Tests können leichtgewichtige, wegwerfbare Instanzen des jeweiligen Datenbanksystems gestartet werden.

Dieser Vortrag zeigt praktische Beispiele sowohl für gut als auch weniger gut funktionierende Ansätze und wie man sie konkret implementiert.

Vorkenntnisse

Unit- und Integration-Testing

Lernziele

* Warum benötigt man Integrationstests?
* Wieso sind Mocks, die eigentliche Datenbank und In-Memory-Implementierungen keine Lösung?
* Welche Embedded-Datenbanken stehen zur Verfügung?
* Wie arbeitet man mit Testcontainern und dem Docker-Maven-Plugin?

Speaker

 

Philipp Krenn
Philipp Krenn lebt für technische Vorträge und Demos. Nachdem er mehr als zehn Jahre als Web-, Infrastruktur- und Datenbank-Entwickler gearbeitet hat, ist er mittlerweile Developer Advocate bei Elastic – dem Unternehmen hinter dem Open Source Elastic Stack, bestehend aus Elasticsearch, Kibana, Beats und Logstash.

CC-Newsletter

Sie möchten über die Continuous Lifecycle und die ContainerConf auf dem Laufenden gehalten werden?

 

Anmelden