Cześć,
piszę właśnie testy integracyjne dla procesu rejestracji użytkownika i mam taki dylemat. Zastanawiam się jaki zakres funkcjonalności powinien obejmować pojedynczy test.
W przykładzie poniżej, test integracyjny obejmuje proces rejestracji, gdzie sprawdzam, czy użytkownik jest poprawnie zapisywany w bazie danych, czy podane username i email są zgodne z danymi przy rejestracji, oraz czy odpowiedni komunikat jest zwracany przez system. Czy według Was takie podejście jest odpowiednie? Czy może powinienem podzielić ten test na mniejsze?
@Test
void shouldSuccessfullyRegisterAndSaveUser() throws DatabaseException {
RegisterRequest registerRequest = new RegisterRequest(
"testUniqueUsername", "testUniqueEmail@gmail.com", "testPassword@123");
ApiResponse response = registrationService.register(registerRequest);
Optional<User> registeredUser = userDAO.findByUsername(registerRequest.username());
assertTrue(registeredUser.isPresent());
assertEquals(registerRequest.username(), registeredUser.get().getUsername());
assertEquals(registerRequest.email(), registeredUser.get().getEmail());
assertEquals("User registered successfully.", response.message());
}
Z góry dzięki za pomoc.
