Integrationstests mit Testcontainers
Die Bibliothek Testcontainers stellt schlanke, aus dem Code heraus steuerbare Einwegcontainer für Integrationstests bereit. Das vereinfacht die Konfiguration und gewährleistet ein einheitliches Set-up.
Automatisierte Tests in Webapplikationen simulieren häufig externe Systeme wie Datenbanken oder Message Brokers, die zum Testen der Anwendung erforderlich sind. Das erspart den Aufwand, diese Systeme bereitzustellen und für Tests anzupassen. Hier setzt die Open-Source-Bibliothek Testcontainers an: Sie ermöglicht es, Container – also isolierte Laufzeitumgebungen für Dienste – direkt aus dem Testcode heraus zu starten und zu verwalten. Die einzige Voraussetzung neben der Bibliothek ist eine unterstützte Container-Runtime wie Docker, Podman, Colima oder Rancher Desktop. Testcontainers ist unabhängig vom Testframework und steht für zahlreiche Programmiersprachen und Plattformen wie Java, Rust, .NET und Node.js zur Verfügung.
Testcontainers installiert man über den Paketmanager der jeweiligen Umgebung, für Node.js beispielsweise mit: