"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या बंदर पैच गो के अपरिवर्तनीय कोड बेस की परीक्षण समस्या को हल कर सकता है?

क्या बंदर पैच गो के अपरिवर्तनीय कोड बेस की परीक्षण समस्या को हल कर सकता है?

2025-04-30 पर पोस्ट किया गया
ब्राउज़ करें:632

] ऐसे परिदृश्यों में, पारंपरिक मॉकिंग तकनीक लागू नहीं हो सकती है। हालांकि, गो में एक रणनीति है जो मदद कर सकती है: बंदर पैचिंग। यह आपको मूल कोड को छोड़ते समय परीक्षणों में विशिष्ट तरीकों का मजाक उड़ाने की अनुमति देता है। Dosomething (i int) त्रुटि Dosomethingelse () ([] int, त्रुटि) } कंक्रीट संरचना टाइप करें { ग्राहक *कुछ } func (c *कंक्रीट) dosomething (i int) त्रुटि { C.Client.dosomething (i) लौटें } func (c *कंक्रीट) dosomethingelse () ([] int, त्रुटि) { C.Client.dosomethingelse () रिटर्न }

Can Monkey Patching Solve Go's Unchangeable Code Base Testing Problems?
इस परिदृश्य में, कंक्रीट वह कोड है जिसे आप संशोधित नहीं कर सकते हैं। MyInterface इंटरफ़ेस बनाकर और मूल कंक्रीट संरचना को एम्बेड करके, आप परीक्षणों में इसके तरीकों का मजाक उड़ाने के लिए लचीलापन प्राप्त करते हैं:

// परीक्षण में एक नकली के साथ एम्बेडेड प्रकार को बदलें टाइप करें मॉककनक्रेट स्ट्रक्चर { Myinterface } func (m *mockconcrete) dosomething (i int) त्रुटि { // डॉसोमिंग के लिए कस्टम लॉजिक को लागू करें } यह दृष्टिकोण अंतर्निहित कोड को संशोधित किए बिना विशिष्ट कार्यक्षमता का परीक्षण करने का एक तरीका प्रदान करता है। यह आपको केवल उन तरीकों का मजाक उड़ाने की अनुमति देता है जिनकी आपको आवश्यकता है:

टाइप कंक्रीट संरचना { *कुछ …

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3