Isolierte Integrationstests – Testcontainers Kickstart

20. September 2021, 9:00 - 16:15 Uhr

Beim Testen von Anwendungen werden meistens andere Systeme benötigt, z.B. eine Datenbank oder ein Message-Bus. Diese lassen sich leicht mit Docker auf dem Entwicklungsrechner bereitstellen. Testcontainers sorgt für die elegante Einbindung in die Testausführung.

Wir beginnen Hands-on, um die Mechanik von Testcontainers kennen lernen. Danach wird es über unterschiedliche Arten der JUnit-Integration und deren Auswirkungen auf Laufzeit und Testdesign zu der Integration mit SpringBoot gehen. Im Laufe des Nachmittags wird ein größeres Szenario erarbeitet, bei dem Container untereinander kommunizieren und  die Web-Oberfläche per Browser – auch im Container – mit Selenium abgetestet wird.

Vorkenntnisse

  • Solide Java-Kenntnisse
  • JUnit (4 oder 5)
  • Grundlagen Docker

Lernziele

  • Funktionsweise von Testcontainers
  • Erstellung von Tests mit Datenbanken
  • Test der Anwendung im Container
  • Integrationstests mehrerer Anwendungen
  • Oberflächentests von Webanwendungen
  • Einbindung in CI-Umgebungen (Theorie und Stolpersteine)

Agenda

9:00
  • Vorstellung
  • Überblick Testcontainers inkl. Grundlagen der Architektur
  • Erste Schritte mit Testcontainers (Hands-On)
10:30 - 10:45 Pause
  • Datenbank-Tests mit Testcontainers und JUnit (Hands-On)
12:15 - 13:00 Mittagspause
  • Überblick über vorbereitete Testcontainers
  • Docker-Netzwerk mit Testcontainers
  • Einführung Selenium-Tests mit Testcontainers und JUnit (Hands-On)
14:30 - 14:45 Pause
  • Behavior-Driven-Tests und Akzeptanztests mit Testcontainers
  • CI-Integration
  • Pitfalls und Best-Practices
  • Zusammenfassung
ca. 16:15 Ende

 

Technische Anforderungen

Speaker

 

Stefan Hildebrandt
Stefan Hildebrandt ist als Softwareentwickler und Berater seit mehr als 10 Jahren in größeren Projekten tätig. Neben der Entwicklung der Software kümmert er sich auch um Test- und Deployment-Automatisierung. Sein Interesse gilt vermehrt der ganzheitlichen Betrachtung des Softwareentwicklungsprozesses und der Potenziale, die außerhalb der eigentlichen Entwicklung schlummern.

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden