2010-07-01 8 views
8

मेरे पास एक वैश्विक फ़ंक्शन वाला एक पायथन प्रोग्राम है जो परीक्षण करने के लिए दर्दनाक है (इसे ठीक से काम करने के लिए एक बड़े डेटासेट की आवश्यकता है)। इसे कॉल करने वाले कार्यों का परीक्षण करते समय इसे पाने का सबसे अच्छा तरीका क्या है?पायथन में एक मुफ्त फ़ंक्शन कैसे नकल करें?

मुझे पता चला है कि निम्नलिखित कार्य (लेकिन यह मुझे इसका उपयोग करने के लिए गंदा महसूस करता है)।

मॉड्यूल foo:

def PainLiesHere(): 
    return 4; #guaranteed to be random 

मॉड्यूल परीक्षण

import foo 

def BlissLiesHere(): 
    return 5 

foo.PainLiesHere = BlissLiesHere 

# test stuff 

उत्तर

8

यह यह करने के लिए एक बिल्कुल ठीक तरीका है। जब तक कि आप जानते हैं कि BlissLiesHere इकाई परीक्षण किए जाने के समग्र व्यवहार ... परिवर्तन नहीं करता है

संपादित करें:

यह क्या किया जा रहा है, सब अच्छा अतिरिक्त वे प्रदान के तहत, विभिन्न प्रकार के द्वारा होता है मॉकिंग लाइब्रेरीज़, जैसे Mock, Mox, आदि

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