How to speed up Spring Integration Tests
Integrationstests sind ein wesentlicher Bestandteil des Softwareentwicklungsprozesses, da sie sicherstellen, dass alle Teile einer Anwendung sauber zusammenarbeiten. Mit zunehmender Größe und Komplexität einer Anwendung steigt auch üblicherweise die Anzahl der Integrationstest.
Damit die Ausführungszeit der Integrationstests nicht zum Bottleneck in unserer CI/CD-Pipeline wird, geht es in diesem Talk um Techniken zur Beschleunigung von Integrationstests in einer Spring-Boot-Anwendung.
Der Großteil der Ausführungszeit geht fast immer für die Erstellung des sogenannten "Spring Context" drauf. Damit nicht für jeden Integrationstest ein komplett neuer Spring Context erstellt werden muss, bringt Spring Boot bereits von Haus aus ein Konzept mit. Doch wenn man nicht aufpasst, wird dieses Konzept schnell ausgehebelt und man profitiert eben nicht von schnell laufenden Integrationstests.
Worauf man bei der Erstellung von Spring-Boot-Integrationstests unbedingt achten sollte, was es mit "Spring Boot Test Slices" auf sich hat und welche Möglichkeiten es sonst noch gibt, um schnellere Integrationstests zu bekommen, erfahrt ihr in diesem Talk.
Lernziele
- Wie funktioniert Spring Context Caching?
- Was verhindert das Cachen des Spring Context?
- Wie finde ich heraus, welcher Integrationstest einen neuen Spring Context erzeugt?
- Was sind Spring Boot Test Slices und wie funktionieren sie?