Avatar ·

Comment mocker correctement les méthodes void dans Mockito ?

Bonjour à tous ! Je suis un développeur Java débutant, j'écris des tests unitaires avec Mockito. Je suis confronté à un problème : je n'arrive pas à comprendre comment mocker correctement une méthode qui ne retourne rien (void).

Voici un exemple simple. Il y a une classe UserService qui envoie un email via EmailService :

public class EmailService {
    public void sendEmail(String to, String subject, String body) {
        // envoi réel de l'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) {
        // une certaine logique d'inscription
        emailService.sendEmail(email, "Welcome", "Hello!");
    }
}

J'écris un test pour registerUser et je veux vérifier que sendEmail a été appelé.