Avatar ·

Mockito में void मेथड्स को सही तरीके से कैसे मॉक करें?

सभी को नमस्ते! मैं एक शुरुआती Java डेवलपर हूँ, Mockito का उपयोग करके unit-टेस्ट लिख रहा हूँ। मुझे एक समस्या का सामना करना पड़ा: मैं समझ नहीं पा रहा हूँ कि उस मेथड को सही तरीके से कैसे मॉक करूँ जो कुछ भी return नहीं करता (void)।

यहाँ एक सरल उदाहरण है। एक क्लास UserService है, जो EmailService के माध्यम से email भेजता है:

public class EmailService {
    public void sendEmail(String to, String subject, String body) {
        // वास्तविक 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) {
        // कुछ रजिस्ट्रेशन लॉजिक
        emailService.sendEmail(email, "Welcome", "Hello!");
    }
}

मैं registerUser के लिए टेस्ट लिख रहा हूँ और यह जाँचना चाहता हूँ कि sendEmail को कॉल किया गया था। लेकिन मैं समझ नहीं पा रहा हूँ कि कैसे मॉक करूँ।