0 Tage Serie
java / beginner
Snippet

Testen der Datenpersistenz mit DataJpaTest

Die Annotation @DataJpaTest richtet eine fokussierte JPA-Testumgebung mit einer eingebetteten Datenbank ein, um Entity-Mappings und Repository-Abfragen zu verifizieren.

snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@DataJpaTest
class CustomerRepositoryTest {
@Autowired
private TestEntityManager entityManager;
@Autowired
private CustomerRepository repository;
@Test
void shouldFindCustomerByEmail() {
Customer customer = new Customer("[email protected]");
entityManager.persistAndFlush(customer);
Optional<Customer> result = repository.findByEmail("[email protected]");
Assertions.assertTrue(result.isPresent());
}
}
spring
Erklärung
1
@DataJpaTest
Initialisiert nur JPA-Repositories und eine In-Memory-Datenbank anstelle des gesamten Anwendungskontexts.
2
entityManager.persistAndFlush(customer);
Speichert die Test-Entität persistent und erzwingt einen sofortigen Flush in die Test-Datenbank.
3
Assertions.assertTrue(result.isPresent());
Prüft, ob die Repository-Abfrage den erwarteten Kunden erfolgreich gefunden und zurückgegeben hat.