Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

doctest मॉड्यूल का उपयोग करके पायथन में परीक्षण

हम जानते हैं डॉकस्ट्रिंग पायथन में फ़ंक्शन और कक्षाओं के बारे में अतिरिक्त जानकारी देता है। हम इसका उपयोग सिद्धांत . का उपयोग करके कार्यों के परीक्षण के लिए भी कर सकते हैं मापांक। सिद्धांत मॉड्यूल उस कोड को निष्पादित करते हैं जो>>> से शुरू होता है और इसकी तुलना अपेक्षित आउटपुट से करता है।

सिद्धांत के साथ कोई फ़ंक्शन लिखने के लिए नीचे दिए गए चरणों का पालन करें

  • सिद्धांत आयात करें मॉड्यूल।

  • डॉकस्ट्रिंग के साथ फ़ंक्शन लिखें। डॉकस्ट्रिंग के अंदर, एक ही फ़ंक्शन के परीक्षण के लिए निम्नलिखित दो पंक्तियाँ लिखें।

    • >>>function_name(*args).

    • अपेक्षित आउटपुट।

  • फंक्शन कोड लिखें।

  • अब, परीक्षण के लिए doctest.testmod(name=function_name, verbose=True) फ़ंक्शन को कॉल करें। यदि वर्बोज़ को गलत पर सेट किया जाता है और सभी परीक्षण पास हो जाते हैं, तो हम परीक्षा परिणाम नहीं देख सकते हैं। इसे सही के रूप में सेट करना बेहतर है।

उदाहरण

आइए एक सरल कार्य को doctest के साथ लिखें।

# मॉड्यूल आयात करना doctest# functiondef number_sum(*args) -> int:""" यह फंक्शन सभी आर्गुमेट्स का योग लौटाता है। 2, 3, 4, 5) 15>>> number_sum(6, 7, 8) 21 """ return sum(args)# testmod functiondoctest.testmod(name='numbers_sum', verbose=True)

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

कोशिश करना:numbers_sum(1, 2, 3, 4, 5)उम्मीद करना:15okकोशिश करना:numbers_sum(6, 7, 8)उम्मीद करना:21ok1 आइटम का कोई परीक्षण नहीं था:numbers_sum1 आइटम ने सभी परीक्षण पास किए:नंबर_सम में 2 परीक्षण।numbers_sum2 परीक्षण 2 आइटमों में। 

यदि आप आउटपुट देखते हैं, तो प्रत्येक परीक्षण के बाद एक शब्द ठीक है। इसका मतलब है कि अपेक्षित आउटपुट और वास्तविक आउटपुट का मिलान किया जाता है। आप आउटपुट के अंत में परीक्षा परिणाम देख सकते हैं।

उदाहरण

आइए देखें कि परीक्षण विफल होने पर क्या होता है। गलत आउटपुट के साथ एक ही उदाहरण चलाएँ।

# मॉड्यूल आयात करना doctest# functiondef number_sum(*args) -> int:""" यह फंक्शन सभी आर्गुमेट्स का योग लौटाता है। 2, 3, 4, 5) 10>>> number_sum(6, 7, 8) 23 """ return sum(args)# testmod functiondoctest.testmod(name='numbers_sum', verbose=True)

आउटपुट

यदि आप उपरोक्त कार्यक्रम को निष्पादित करते हैं, तो आपको निम्नलिखित परिणाम प्राप्त होंगे।

कोशिश कर रहा है:number_sum(1, 2, 3, 4, 5) उम्मीद:10****************************** *************************************** फ़ाइल "__main__", पंक्ति 10, संख्या_योग में .numbers_sumअसफल उदाहरण:number_sum(1, 2, 3, 4, 5)अपेक्षित:10Got:15कोशिश कर रहा है:numbers_sum(6, 7, 8)उम्मीद:23*** *********************************************** ***फ़ाइल "__main__", पंक्ति 12, number_sum.numbers_sum में विफल उदाहरण:number_sum(6, 7, 8)अपेक्षित:23Got:211 आइटम में कोई परीक्षण नहीं था:number_sum************** *********************************************** ******1 आइटम में विफलताएं थीं:2 में से 2 में संख्या_sum.numbers_sum2 परीक्षण 2 आइटम में। 0 उत्तीर्ण और 2 विफल। *** परीक्षण विफल *** 2 विफलताएं। परीक्षण परिणाम (विफल =2, प्रयास =2) 

यदि आप परीक्षा परिणाम देखते हैं, तो 2 अनुत्तीर्ण हैं। आप अपेक्षित . भी देख सकते हैं और वास्तविक आउटपुट में आउटपुट।

निष्कर्ष

यदि आपको ट्यूटोरियल में कोई संदेह है, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. यूनिटटेस्ट का उपयोग करते हुए पायथन प्रोग्राम में यूनिट टेस्टिंग

    इस लेख में, हम पायथन 3.x में उपलब्ध यूनिटेस्ट मॉड्यूल की मदद से सॉफ्टवेयर परीक्षण के मूल सिद्धांतों के बारे में जानेंगे। या जल्दी। यह स्वचालन, परीक्षण के लिए सेटअप और निकास कोड साझा करने और प्रत्येक ढांचे के लिए स्वतंत्र परीक्षण की अनुमति देता है। इकाई परीक्षण में, हम वस्तु उन्मुख अवधारणाओं की एक व

  1. यूनिटटेस्ट का उपयोग करके पायथन में यूनिट परीक्षण

    इस लेख में, हम पायथन 3.x में उपलब्ध यूनिट टेस्ट मॉड्यूल की मदद से सॉफ्टवेयर परीक्षण के मूल सिद्धांतों के बारे में जानेंगे। या जल्दी। यह स्वचालन, परीक्षण के लिए सेटअप और निकास कोड साझा करने और प्रत्येक ढांचे के लिए स्वतंत्र परीक्षण की अनुमति देता है। इकाई परीक्षणों में, हम विभिन्न प्रकार की वस्तु-उ

  1. issubset () पायथन में फ़ंक्शन

    इस लेख में, हम पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध issubset () फ़ंक्शन के कार्यान्वयन और उपयोग के बारे में जानेंगे। issubset() विधि बूलियन ट्रू लौटाती है जब एक सेट के सभी तत्व दूसरे सेट में मौजूद होते हैं (एक तर्क के रूप में पारित) अन्यथा, यह बूलियन गलत देता है। नीचे दिए गए चित्र में B, A का एक उ