¿Cómo mockear correctamente métodos void en Mockito?
¡Hola a todos! Soy un desarrollador Java principiante, escribo unit tests usando Mockito. Me encontré con un problema: no puedo entender cómo mockear correctamente un método que no devuelve nada (void).
Aquí hay un ejemplo simple. Hay una clase UserService que envía un email a través de EmailService:
public class EmailService {
public void sendEmail(String to, String subject, String body) {
// envío real de email
System.out.println("Email sent to " + to);
}
}
public class UserService {
private final EmailService emailService;
public UserService(EmailService emailService) {
this.emailService = emailService;
}
public void registerUser(String email) {
// alguna lógica de registro
emailService.sendEmail(email, "Welcome", "Hello!");
}
}
Estoy escribiendo un test para registerUser y quiero verificar que sendEmail fue llamado.