كيفية عمل mock للطرق من نوع void في Mockito بشكل صحيح؟
مرحبًا بالجميع! أنا مطور Java مبتدئ، وأكتب اختبارات الوحدة باستخدام Mockito. واجهت مشكلة: لا أستطيع فهم كيفية عمل mock لطريقة لا تُرجع شيئًا (void).
إليك مثال بسيط. هناك كلاس UserService يُرسل بريدًا إلكترونيًا عبر EmailService:
public class EmailService {
public void sendEmail(String to, String subject, String body) {
// إرسال البريد الإلكتروني الفعلي
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) {
// بعض منطق التسجيل
emailService.sendEmail(email, "Welcome", "Hello!");
}
}
أكتب اختبارًا لـ registerUser وأريد التحقق من أن sendEmail قد تم استدعاؤه.