Spring JPA: Verwendung von @DataJpaTest

Um die JPA-Anteile der Persistence-Schicht als Integrationstest zu Testen benutzen wir die Annotation @DataJpaTest. Was passiert da?

Spring erstellt einen ApplicationContext, der nur die relevanten Komponenten für den Test (z.B. Datenbankschicht) initialisiert, also:

Konfiguration für JPA-Tests: Die Annotation konfiguriert den Test, um mit JPA-bezogenen Komponenten zu arbeiten, einschließlich des automatischen Erkennens von Spring Data Repositories.

Automatisches Laden von Data JPA-Komponenten: Die Annotation stellt sicher, dass nur die für die Data JPA-Repositorien erforderlichen Komponenten geladen werden, was den Testprozess beschleunigen kann.

Transaktionsmanagement: @DataJpaTest fügt standardmäßig Transaktionen um die Tests hinzu. Nachdem der Test abgeschlossen ist, werden die durch den Test verursachten Änderungen in der Datenbank zurückgerollt, um die Datenintegrität zu gewährleisten.