Avatar ·

यूनिट-टेस्टिंग में Go फंक्शन्स के लिए मॉक (mock) सही तरीके से कैसे बनाएं?

नमस्ते! मैंने Go सीखना शुरू किया है और अपने प्रोजेक्ट के लिए यूनिट-टेस्ट लिखने की कोशिश कर रहा हूं। मुझे एक समस्या का सामना करना पड़ा: मेरे पास एक फंक्शन है जो बाहरी सर्विस को कॉल करता है (जैसे, ईमेल भेजना या HTTP-रिक्वेस्ट करना)। टेस्ट में मैं वास्तव में इन सर्विसेज को कॉल नहीं करना चाहता, इसलिए मॉक (mock) बनाने की जरूरत है। यहां मेरे कोड का एक सरल उदाहरण है: ```go package main import ( "fmt" "net/smtp" ) type EmailSender struct{} func (e *EmailSender) SendEmail(to, subject, body string) error { // SMTP के माध्यम से वास्तविक ईमेल भेजना err := smtp.SendMail("smtp.example.com:587", nil, "from@example.com", []string{to}, []byte(body)) if err != nil { return fmt.Errorf("failed to send email: %w", err) } return nil } func NotifyUser(sender *EmailSender, userEmail string) e