Speaker
✓ JAX Innovation Forum gratis
✓ Bis zu 721 € sparen
✓ Kollegenrabatt
Jetzt anmelden
✓ See you in 2023
✓ Wir sehen uns in 2023
Infos
09:00 - 17:00
Gutenberg 2 WS
Docker Testing Workshop
Beschreibung
Testcontainers ist der Kleber, der Integrationstests mit benötigter Infrastruktur in Docker-Containern verbindet. Seit der Verfügbarkeit von Docker ist es leicht geworden, unterschiedliche Datenbanken, Message Broker etc. bereitzustellen. Die Registry erleichtert die Distribution. Hier setzen Testcontainers an, indem der Containerlifecycle direkt aus dem Test gesteuert wird. So kann nichts vergessen werden, die Grenzen sind hart abgesteckt und ans Aufräumen wurde auch gedacht. Es gibt Adapter für alle gängigen Test-Frameworks. Falls einmal etwas fehlen sollte, ist es relativ schnell geschrieben, da ein Container mit zwei Zeilen Code erstellt und gestartet werden kann. Hier werden wir Hands-on beginnen und so die Mechanik von Testcontainers kennenlernen. Danach wird es über unterschiedliche Arten der JUnit-Integration und deren Auswirkungen auf Laufzeit und Testdesign zu der Integration mit Spring Boot gehen. Zum Schluss wird ein größeres Szenario mit Selenium-basierten Tests erarbeitet, das komplett in Containern abläuft.
Inhalt & Ablauf
* Motivation
* Möglichkeiten von Docker in Tests
* Funktionsweise Testcontainers
* Einbindung in Testframeworks
* JDBC-Container (inkl. Hands-On)
* Testen der eigenen Anwendung mit Testcontainers (inkl. Hands-On)
* Docker-Netzwerk (inkl. Hands-On)
* Browser-Tests (Selenium) (inkl. Hands-On) * Akzeptanztests
Zielgruppe & Anforderungen
Testende Entwickler und entwickelnde Tester
Der Workshop wird Anhand von konkreten Programmieraufgaben durchgeführt und enthält größere Hands-On-Teile, die idealerweise in Kleingruppen bearbeitet werden sollen. Dafür sind solide Kenntnisse in Java und Grundkenntnisse in Docker erforderlich.
Notebook
– Admin-Rechte
– Freier Internetzugang ohne Company-Proxy
– Java 11
– Docker
– git
– Jetbrains Idea Community Edition
Remoteteilnehmer
* Zoom-Setup inkl. Bildschirmfreigabe