Différence entre @Mock et @InjectMocks dans Mockito : quand et quoi utiliser ?
Bonjour à tous ! Je suis un développeur Java débutant, j'écris des tests unitaires avec Mockito et Spring. Je suis confus au sujet des annotations @Mock et @InjectMocks. J'ai lu la documentation, mais je n'ai pas complètement compris la différence et quand les utiliser.
Supposons que j'ai un service UserService qui utilise UserRepository et EmailService. Je veux tester la méthode registerUser() dans UserService, qui appelle le repository pour sauvegarder l'utilisateur puis envoie un email.
Voici un exemple de ma classe :
```java
public class UserService {
private UserRepository userRepository;
private EmailService emailService;
public UserService(UserRepository userRepository, EmailService emailService) {
this.userRepository = userRepository;
this.emailService = emailService;
}
public User registerUser(String name, String email) {
User user = new User(name, email);
userRepository.save(user);
emailService.sendWelcomeEmail(user);