पायथन कार्यक्रमों के लिए डॉक्टेस्ट एक सरल लेकिन उपयोगी परीक्षण विधि है। इकाई परीक्षण की तुलना में , सिद्धांत को परीक्षण मामलों को लिखने के लिए एक स्वतंत्र स्क्रिप्ट की आवश्यकता नहीं होती है। टेस्ट मामलों को केवल पायथन फ़ंक्शन के डॉक्टर जानकारी (ट्रिपल सिंगल / डबल कोट्स के भीतर सामग्री) में लिखा जा सकता है। फिर ये मामले doctestमॉड्यूल का उपयोग करके फ़ंक्शन का परीक्षण कर सकते हैं ।
doctestपाठ के टुकड़े के लिए मॉड्यूल खोजें कि इंटरैक्टिव अजगर सत्र, और फिर तरह नज़र उन सत्रों कार्यान्वित की पुष्टि है कि वे वास्तव में काम करते हैं दिखाया गया है। ( अजगर दस्तावेज़ )
आइए एक गलत abs()कार्य के लिए सिद्धांत का उपयोग करें :
परिणाम इस प्रकार है:
जैसा कि ऊपर दिखाए गए उदाहरण से पता चलता है कि फ़ंक्शन का परीक्षण करने के लिए सिद्धांत सबसे सुविधाजनक और सरल तरीका है।
संक्षेप में, केवल 3 चरण हैं:
doctestमॉड्यूलdoctest.testmod()doctest चलाने के लिए उपयोग करेंयदि सभी परीक्षण मामलों को पारित कर दिया जाता है, तो doctestकुछ भी नहीं छपेगा।
में doctest.testmod, एक महत्वपूर्ण पैरामीटर कहा जाता है verbose।
यह Falseडिफ़ॉल्ट रूप से सेट है , जिसका अर्थ है कि परीक्षण चलाते समय, केवल असफल मामले विस्तृत जानकारी का उत्पादन करेंगे। यदि आप हर मामलों की पूरी जानकारी प्राप्त करना चाहते हैं, तो बस इसे निर्धारित करें True।
if __name__ == '__main__':
doctest.testmod(verbose=True)
दरअसल, हमें if __name__ == '__main__':ब्लॉक लिखना नहीं आता है । हम टर्मिनल में सीधे डाक चला सकते हैं:
$ python -m doctest wrong_abs.py
$ python -m doctest -v wrong_abs.py
कभी-कभी, यह थोड़ा गड़बड़ हो सकता है अगर हम फ़ंक्शन के नीचे टिप्पणियों और परीक्षण मामलों दोनों को डालते हैं। कोई चिंता नहीं, हम सभी परीक्षण मामलों को एक स्वतंत्र फ़ाइल में डाल सकते हैं और अभी भी पूरी तरह से सिद्धांत चला सकते हैं।
उदाहरण के लिए, चलिए एक फाइल बनाते हैं, जिसे test_cases.txt"doctest style" टेस्ट मामलों में डाला जाता है:
फिर इस आदेश द्वारा सिद्धांत चलाएँ:
python -m doctest test_cases.txt
पायथन कार्यक्रमों के लिए Doctest एक आसान से उपयोग की जाने वाली परीक्षा विधि है। इस तकनीक का अच्छी तरह से उपयोग करने से आपको बग-मुक्त कोड प्राप्त करने में मदद मिल सकती है।
पढ़ने के लिए धन्यवाद।
संबंधित पोस्ट:
पायथन प्रोग्रामर्स के लिए छह डिबगिंग तकनीकअधिक पायथन ट्यूटोरियल:
अंतिम पायथन ट्यूटोरियल (अद्यतन रखें)
जब आप facebook.com से अनुरोध करते हैं, तो आपका कंप्यूटर उस डोमेन नाम को IP पते में अनुवादित करने के लिए डोमेन नाम खोजता है ताकि आपका कंप्यूटर वह कनेक्शन बना सके।
आपने सभी नए शक्तिशाली ChatGPT प्लगइन्स जैसे ब्राउज़र, कोड इंटरप्रेटर आदि के बारे में सुना होगा। लेकिन एक समस्या है, प्लगइन्स तक पहुंच एक प्रतीक्षा सूची तक सीमित है और इस प्रकार कई लोगों के पास इसकी पहुंच नहीं है।
यह मुझ पर अचानक प्रहार करता है जैसा कि यह अक्सर करता है यह फिर से बीच का रास्ता है <नहीं, वह नहीं जो प्रशांत में आप मैरून हैं, जो कार्निवल में है> हर हेडलाइन जोर से… ..
कोई भी तर्कसंगत दिमाग जानता है कि राजनीतिक और मीडिया हलकों में वामपंथियों का वर्चस्व है, यहां तक कि अति वामपंथी भी, ऐसी स्थिति जो राजनीतिक प्रवचन में असंतुलन पैदा करती है। धर्म के क्षेत्र में, यह असंतुलन स्पष्ट रूप से दिखाई देता है: वामपंथी समाचार पत्र और नेटवर्क ईसाई धर्म की रक्षा के लिए जल्दबाजी नहीं कर रहे हैं।
“जब मैं खतरे में हूँ तब वह मेरी रक्षा करेगा। वह मुझे अपने डेरे में छिपा लेगा।
कितनी बार आपने दो बार बिना सोचे-समझे एक प्लास्टिक की बोतल, एक कांच के जार, एक एल्युमिनियम कैन, या एक हरित ऊर्जा पैकेज को फेंक दिया है? आपने कितनी बार कामना की है कि आप उन्हें पुनर्चक्रित करने के बदले में कुछ प्राप्त कर सकते हैं? यदि आप अधिकांश लोगों की तरह हैं, तो उत्तर शायद कई बार होगा। पुनर्चक्रण को अक्सर एक झंझट, एक काम या कर्तव्य के रूप में देखा जाता है जो कोई तत्काल या ठोस लाभ नहीं लाता है।