] ऐसे परिदृश्यों में, पारंपरिक मॉकिंग तकनीक लागू नहीं हो सकती है। हालांकि, गो में एक रणनीति है जो मदद कर सकती है: बंदर पैचिंग। यह आपको मूल कोड को छोड़ते समय परीक्षणों में विशिष्ट तरीकों का मजाक उड़ाने की अनुमति देता है। Dosomething (i int) त्रुटि Dosomethingelse () ([] int, त्रुटि) } कंक्रीट संरचना टाइप करें { ग्राहक *कुछ } func (c *कंक्रीट) dosomething (i int) त्रुटि { C.Client.dosomething (i) लौटें } func (c *कंक्रीट) dosomethingelse () ([] int, त्रुटि) { C.Client.dosomethingelse () रिटर्न }
इस परिदृश्य में, कंक्रीट वह कोड है जिसे आप संशोधित नहीं कर सकते हैं। MyInterface इंटरफ़ेस बनाकर और मूल कंक्रीट संरचना को एम्बेड करके, आप परीक्षणों में इसके तरीकों का मजाक उड़ाने के लिए लचीलापन प्राप्त करते हैं:
// परीक्षण में एक नकली के साथ एम्बेडेड प्रकार को बदलें टाइप करें मॉककनक्रेट स्ट्रक्चर { Myinterface } func (m *mockconcrete) dosomething (i int) त्रुटि { // डॉसोमिंग के लिए कस्टम लॉजिक को लागू करें } यह दृष्टिकोण अंतर्निहित कोड को संशोधित किए बिना विशिष्ट कार्यक्षमता का परीक्षण करने का एक तरीका प्रदान करता है। यह आपको केवल उन तरीकों का मजाक उड़ाने की अनुमति देता है जिनकी आपको आवश्यकता है:
टाइप कंक्रीट संरचना { *कुछ …
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3