PyUnit ट्यूटोरियल: पायथन यूनिट टेस्टिंग फ्रेमवर्क (उदाहरण के साथ)

विषय - सूची:

Anonim

यूनिट टेस्टिंग क्या है?

अजगर में यूनिट परीक्षण आवेदन के विकास चरण में कीड़े की पहचान करने के लिए किया जाता है जब कीड़े कम आवर्तक होते हैं और ठीक करने के लिए कम महंगे होते हैं।

एक इकाई परीक्षण एक स्क्रिप्टेड कोड स्तर परीक्षण है जिसे कार्यक्षमता की एक छोटी "इकाई" को सत्यापित करने के लिए पायथन में डिज़ाइन किया गया है। यूनिट टेस्ट एक ऑब्जेक्ट ओरिएंटेड फ्रेमवर्क है जो टेस्ट फिक्स्चर के आसपास आधारित है।

अजगर इकाई परीक्षण तकनीक

पायथन यूनिट परीक्षण में मुख्य रूप से किसी भी निर्भर कोड तक पहुंचने के बिना किसी विशेष मॉड्यूल का परीक्षण करना शामिल है। डेवलपर्स स्टब्स और मॉक जैसी तकनीकों का उपयोग करके कोड को "इकाइयों" में अलग-अलग कर सकते हैं और व्यक्तिगत टुकड़ों पर यूनिट स्तर परीक्षण चला सकते हैं।

  • टेस्ट-ड्रिवेन डेवलपमेंट टीडीडी: यूनिट टेस्टिंग अजगर के साथ की जानी चाहिए, और इसके लिए डेवलपर्स टेस्ट-ड्रिवेन डेवलपमेंट मेथड का इस्तेमाल करते हैं। टीडीडी विधि में, आप पहले पायथन यूनिट परीक्षणों को डिजाइन करते हैं और उसके बाद ही आप उस कोड को लिखते हैं जो इस सुविधा को लागू करेगा।
  • स्टब्स और मोक्स: वे दो मुख्य तकनीकें हैं जो नकली तरीकों का अनुकरण करती हैं जिनका परीक्षण किया जा रहा है। एक स्टब कुछ निर्भरता को सही ढंग से चलाने के लिए इकाई परीक्षण के लिए आवश्यक को भरने के लिए प्रयोग किया जाता है। एक नकली दूसरी तरफ एक नकली वस्तु जो परीक्षण जहाँ हम ज़ोर डाल चलाता है।

    किसी कक्षा या फ़ंक्शन की सभी निर्भरता का परीक्षण करने के लिए दोनों विधियों के इरादे समान हैं।

पायथन यूनिट टेस्टिंग फ्रेमवर्क

यूनिट परीक्षण प्रक्रिया को आसान बनाने और अपनी परियोजना की गुणवत्ता में सुधार करने के लिए, पायथन यूनिट टेस्टिंग फ्रेमवर्क की सिफारिश की जाती है। यूनिट टेस्टिंग फ्रेमवर्क में शामिल हैं

  • PyUnit: PyUnit कोड के स्वचालित परीक्षण के लिए जुड़नार, परीक्षण मामलों, परीक्षण सूट और एक परीक्षण धावक का समर्थन करता है। PyUnit में, आप एक ही जुड़नार के साथ सूट में परीक्षण मामलों को व्यवस्थित कर सकते हैं
  • नाक: प्लग-इन में निर्मित नाक आपको आउटपुट कैप्चर, कोड कवरेज, सिद्धांत आदि के साथ मदद करता है। नाक वाक्यविन्यास बहुत सरल है और परीक्षण लिखने के लिए बाधाओं को कम करता है। यह परीक्षण को आसान बनाने के लिए पायथन को एकतरफा बढ़ाता है।
  • Doctest: Doctest का परीक्षण स्क्रिप्ट फ़ाइल के निचले भाग में छोटे फ़ंक्शन के साथ डॉकस्ट्रिंग में जाता है। Doctest आपको दस्तावेज़ीकरण में शामिल उदाहरणों को चलाकर और अपेक्षित परिणाम लौटाए जाने की पुष्टि करते हुए अपने कोड का परीक्षण करने की अनुमति देता है। सिद्धांत का उपयोग-मामला कम विस्तृत है और विशेष मामलों को नहीं पकड़ता है। वे एक मॉड्यूल और इसके घटकों के मुख्य उपयोग के मामले के एक अभिव्यंजक प्रलेखन के रूप में उपयोगी हैं।

PyUnit के साथ इकाई परीक्षण

Pyunit JUnit का पायथन पोर्ट है। Pyunit के एक भाग के रूप में, एकतरफा मॉड्यूल में पाँच प्रमुख वर्ग होते हैं।

  • TestCase वर्ग : TestCase वर्ग परीक्षण दिनचर्या को सहन करता है और प्रत्येक दिनचर्या बनाने और उसके बाद की सफाई के लिए हुक देता है।
  • टेस्टसुइट क्लास : यह एक संग्रह कंटेनर के रूप में पूरा होता है, और इसमें कई टेस्टकेस ऑब्जेक्ट्स और कई टेस्टसुइट ऑब्जेक्ट्स हो सकते हैं
  • TestLoader वर्ग : यह वर्ग स्थानीय स्तर पर या बाहरी फ़ाइल से परिभाषित परीक्षण मामलों और सुइट्स को लोड करता है। यह एक परीक्षण वस्तुओं का उत्सर्जन करता है जो उन सुइट्स और मामलों को रखता है
  • TextTestRunner वर्ग : परीक्षणों को चलाने के लिए यह परीक्षणों को निष्पादित करने के लिए एक मानक मंच प्रदान करता है
  • TestResults वर्ग : यह परीक्षण परिणामों के लिए एक मानक कंटेनर प्रदान करता है

PyUnit का उपयोग करके पायथन परीक्षण के लिए एक परीक्षण मामले को डिजाइन करना

एक यूनिट टेस्ट एक बेस क्लास, टेस्ट केस प्रदान करता है, जिसका इस्तेमाल नए टेस्ट केस बनाने में किया जा सकता है। परीक्षण के मामले को डिजाइन करने के लिए, तीन तरीकों का उपयोग किया जाता है

unittest.TestCase

setUp()teardown()skipTest(aMesg:string)fail(aMesg:string)id():stringshortDescription():string

पहले सेट में प्री और पोस्ट टेस्ट हुक होते हैं। सेटअप () विधि प्रत्येक परीक्षण दिनचर्या से पहले शुरू होती है, दिनचर्या के बाद फाड़ ()।

विधि का दूसरा सेट परीक्षण निष्पादन को नियंत्रित करता है। दोनों विधियाँ इनपुट के रूप में एक संदेश स्ट्रिंग लेती हैं, और दोनों चल रहे परीक्षण को रद्द कर देते हैं। लेकिन स्किप्टेस्ट () पद्धति वर्तमान परीक्षा को निरस्त कर देती है जबकि असफल () विधि इसे पूरी तरह से विफल कर देती है।

अंतिम या तीसरी विधि परीक्षण का निर्धारण करने में मदद करती है। विधि आईडी () एक स्ट्रिंग देता है जिसमें टेस्टकेस ऑब्जेक्ट के नाम और टेस्ट रूटीन शामिल होते हैं। और विधि शार्टडेसक्रिप्शन () प्रत्येक परीक्षण दिनचर्या की दीक्षा पर टिप्पणी करता है।

पायथन यूनिट परीक्षण का उपयोग करने के लाभ

  • यह आपको विकास चक्र में कीड़े का पता लगाने में मदद करता है
  • यह आपको बेहतर कार्यक्रम लिखने में मदद करता है
  • यह अन्य परीक्षण विधियों और उपकरणों के साथ आसानी से सिंक करता है
  • इसमें कई कम कीड़े होंगे
  • भविष्य में बहुत कम परिणाम के साथ संशोधित करना आसान है