मैंने this से पूछा कि stdout
में आउटपुट की जांच करने के लिए एक पाइस्टेस्ट कैसे लिखना है और समाधान मिला है। अब मैं अगर सामग्री फाइल करने के लिए लिखा जाता है और सामग्री के रूप में उम्मीद लिखा जाता है कि जाँच करने के लिए एक test case
लिखने के लिए, की जरूरत है जैसे:पायथन में फ़ाइल में आउटपुट करने के लिए एक पायस्टेस्ट फ़ंक्शन लिख रहा है?
def writetoafile():
file = open("output.txt",w)
file.write("hello\n")
file.write("world\n")
file.close()
अब एक pytest समारोह की जाँच करने के अगर यह लिखा:
def test_writeToFile():
file = open("ouput.txt",'r')
expected = "hello\nworld\n"
assert expected==file.read()
जबकि यह काम करता प्रतीत होता है, मुझे नहीं लगता कि यह आदर्श है, विशेष रूप से हार्ड कोडिंग। आमतौर पर लिखे गए फ़ाइल में test functions
लिखने के इस प्रकार कैसे हैं?
यह आदर्श क्यों नहीं होगा? आपने लिखा है कि आप सामग्री को अपेक्षित रूप से जांचना चाहते हैं, इसलिए फ़ाइल और जांच में सबसे अच्छा विकल्प लगता है। आप यादृच्छिक वर्णों की श्रृंखला के साथ हमेशा एक चर बना सकते हैं और जांच सकते हैं कि यह सफलतापूर्वक लिखा गया है या नहीं; आप यह देखने के लिए "फ़ाइल.read() में अपेक्षित" जांच सकते हैं कि डेटा जोड़ा गया था या नहीं (लेकिन आपने ध्वज 'डब्ल्यू' का उपयोग किया ताकि यह एक खराब परीक्षण हो); इत्यादि। यदि आप ऐसा नहीं करते हैं तो आप क्या परीक्षण करना चाहते हैं? शायद आप जो चाहते हैं उसे जानना वास्तविक प्रश्न है, जैसा कि अधिकांश परीक्षणों में है। –