Avatar ·

Mockito के साथ यह कैसे जाँचें कि कोई मेथड कॉल नहीं किया गया?

नमस्ते! मैं JUnit और Mockito का उपयोग करके Java एप्लिकेशन के लिए यूनिट टेस्ट लिख रहा हूँ। मेरे पास एक सर्विस है जो कुछ शर्तों के तहत डिपेंडेंट ऑब्जेक्ट के मेथड को कॉल नहीं करनी चाहिए। उदाहरण के लिए, यदि उपयोगकर्ता प्रमाणित नहीं है, तो sendEmail() मेथड को कॉल नहीं किया जाना चाहिए। मैं टेस्ट में इसकी जाँच कैसे करूँ?

यहाँ मेरे कोड का सरलीकृत उदाहरण है:

public class NotificationService {
    private EmailService emailService;

    public NotificationService(EmailService emailService) {
        this.emailService = emailService;
    }

    public void processUser(User user) {
        if (user.isActive()) {
            emailService.sendEmail(user.getEmail(), "Welcome!");
        }
    }
}

मैंने उस स्थिति के लिए टेस्ट लिखा है जब उपयोगकर्ता सक्रिय है