2012-02-15 15 views
6

मैं अपने अवांछित में वास्तविक फाइलें नहीं बनाना चाहता हूं। तो मुझे लगता है कि मैं अक्सर बकवास बकवास के साथ और छद्म-फाइलों के लिए नकली कारखानों का निर्माण करता हूं। मैं सोच रहा था अगर यह (इस उदाहरण में) इन व्यर्थ के प्रयासों से बचने नहीं कर अच्छे किया जाएगा करने के लिए और एक स्थानीय unittest विधि के दायरे में कुछ तरह का प्रयास करें:बंदर-पैच एक यूनिट-टेस्ट के लिए एक बिल्टिन फ़ंक्शन?

open = lambda x: StringIO() 

यह ठीक होगा? या क्या इस तरह के प्रमुख चेतावनी/मुद्दे नहीं हैं और नकली कारखानों के साथ बेहतर हो?

उत्तर

4

यह ठीक है, जब तक आप समझते हैं कि पाइथन स्कॉप्स कैसे काम करते हैं (यानी स्थानीय रूप से ठीक है, वैश्विक स्तर पर समस्याएं पैदा होंगी)।

आपको शायद यह भी मानना ​​चाहिए कि आपके बंदरगाहों के मूल से अलग विफलता मोड होंगे, और यह सुनिश्चित करने के लिए उचित परीक्षण होंगे कि आपका कोड बिल्टिन के साथ सही ढंग से इंटरैक्ट करता है।

संबंधित मुद्दे