Avatar ·

Diferencia entre @Mock y @InjectMocks en Mockito: ¿cuándo y qué usar?

¡Hola a todos! Soy un desarrollador Java principiante, escribo unit tests usando Mockito y Spring. Tengo confusión con las anotaciones @Mock y @InjectMocks. Leí la documentación, pero no entendí completamente cuál es la diferencia y cuándo usar cada una. Supongamos que tengo un servicio UserService que usa UserRepository y EmailService. Quiero probar el método registerUser() en UserService, que llama al repository para guardar el usuario y luego envía un email. Aquí hay un ejemplo de mi clase: ```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);