2011-11-08 6 views
19

मैंने एक विशेष HTML पार्सर लिखा है, कि मैं डाउनलोड किए गए कुछ नमूना वेबपृष्ठों के साथ यूनिट परीक्षण करना चाहता हूं।पाइथन में यूनिट परीक्षण के लिए फ़ाइल से डेटा कैसे लोड करें?

जावा में, मैंने यूनिट परीक्षणों में डेटा लोड करने के लिए कक्षा संसाधनों का उपयोग किया है, बिना फ़ाइल सिस्टम पर किसी विशेष पथ पर भरोसा किए बिना। क्या Python में ऐसा करने का कोई तरीका है?

मुझे doctest.testfile() फ़ंक्शन मिला, लेकिन यह सिद्धांतों के लिए विशिष्ट प्रतीत होता है। मैं सिर्फ एक विशेष एचटीएमएल फ़ाइल के लिए एक फ़ाइल हैंडल प्राप्त करना चाहता हूं, जो मौजूदा मॉड्यूल के सापेक्ष है।

किसी भी सुझाव के लिए अग्रिम धन्यवाद!

उत्तर

34

एक unittest में एक फ़ाइल से डेटा लोड करने के लिए, यदि testdata unittests रूप में एक ही निर्देशिका, एक ही समाधान है:

TESTDATA_FILENAME = os.path.join(os.path.dirname(__file__), 'testdata.html') 


class MyTest(unittest.TestCase) 

    def setUp(self): 
     self.testdata = open(TESTDATA_FILENAME).read() 

    def test_something(self): 
     .... 
1

मुझे लगता है कि वर्तमान कार्य प्राप्त करने के लिए आपके कार्य को here दिए गए हैं। फिर उस पथ को HTML फ़ाइल और open के पथ से बढ़ाएं।

1

आप एक फ़ाइल के रूप में अपनी फ़ाइल की सामग्री वाली स्ट्रिंग अनुकरण करने के लिए स्ट्रिंगियो या सीस्ट्रिंगियो का भी उपयोग कर सकते हैं।

+2

हां, मैं उस के बारे में सोचा है, लेकिन यह आवश्यकता होगी कि मैं सभी डाल एक स्ट्रिंग के रूप में एक पायथन फ़ाइल में एचटीएमएल, जो मुझे पसंद नहीं है> 3k लाइनें लंबी है – cberner

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