java / beginner
Snippet
Datenbankabfragen mit dem DataJpaTest-Slice überprüfen
Die @DataJpaTest-Annotation konfiguriert eine In-Memory-Datenbank und lädt ausschließlich @Entity- und Repository-Beans. Dies ermöglicht schnelle und gezielte Integrationstests für die Datenzugriffsschicht, ohne den vollständigen Spring-Kontext zu laden.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@DataJpaTestclass UserRepositoryTest {@Autowiredprivate UserRepository userRepository;@Testvoid shouldFindUserByEmail() {userRepository.save(user);assertTrue(found.isPresent());}}
spring
Erklärung
1
@DataJpaTest
Aktiviert das JPA-Test-Slicing mit In-Memory-Datenbank und automatischem Transaktions-Rollback nach jedem Test.
2
private UserRepository userRepository;
Injiziert das zu testende Spring Data JPA-Repository.
3
Optional<User> found = userRepository.findByEmail("[email protected]");
Führt die Abfrage aus, um die gespeicherte Entität anhand der E-Mail-Adresse abzurufen.
4
assertTrue(found.isPresent());
Überprüft, dass das zurückgegebene Optional nicht leer ist und den Benutzer enthält.