Avatar ·

الفرق بين @Mock و @InjectMocks في Mockito: متى وماذا نستخدم؟

مرحباً بالجميع! أنا مطور Java مبتدئ، وأكتب اختبارات الوحدة باستخدام Mockito و Spring. لدي ارتباك مع التعليقات التوضيحية @Mock و @InjectMocks. قرأت الوثائق، لكنني لم أفهم تماماً الفرق ومتى يتم استخدام كل منهما.\n\nلنفترض أن لدي خدمة UserService تستخدم UserRepository و EmailService. أريد اختبار طريقة registerUser() في UserService، التي تستدعي المستودع لحفظ المستخدم ثم ترسل بريداً إلكترونياً.\n\nإليك مثال على الكلاس الخاص بي:\n\n```java\npublic class UserService {\n private UserRepository userRepository;\n private EmailService emailService;\n\n public UserService(UserRepository userRepository, EmailService emailService) {\n this.userRepository = userRepository;\n this.emailService = emailService;\n```