Testcontainers everywhere!
Testcontainers sind mittlerweile ein fester Bestandteil meiner Entwicklertätigkeit. Sowohl in der Java- als auch in der Go-Welt haben sie sich als
das Tool für Integrationstests entwickelt. In diesem Talk möchte ich zeigen, wie ich Testcontainers von kleinen Datenbank-Integrationstests, über Cross-Datenbankmigrationen bis hin zu Kubernetes-Operator-Tests einsetze. Neben Grundlagen der Entwicklung mit Testcontainers werde ich auch auf den Bau eigener Testcontainer sowie ihre Verwendung in Build-Pipelines erzählen.
Wir haben in den letzten Jahren einen Großteil von Instana mit Testcontainers-basierten Tests abgedeckt. Neben klassischen Integrationstests verwenden wir sie auch für die Vorbereitung schwergewichtiger Migrationen im laufenden Betrieb. Testcontainers haben unseren Entwicklungsprozess deutlich beschleunigt und sind mittlerweile integraler Bestandteile sowohl unserer Java- als auch unserer Go-Projekte.
Vorkenntnisse
- Java, Container, optional auch Go
Lernziele
- Konzepte und Aufbau des Testcontainers-Framework
- Verwendung mit Java
- Aufbau eigener Testcontainer
- Verwendung in Tests und Buildpipelines
- mgang mit schwergewichtigen Test-Suites