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

पायथन में Unittest का उपयोग करके यूनिट टेस्टिंग


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

यूनिट टेस्ट में, हम ऑब्जेक्ट-ओरिएंटेड अवधारणाओं की एक विस्तृत विविधता का उपयोग करते हैं। हम यहां कुछ प्रमुख अवधारणाओं पर चर्चा करेंगे।

  • टेस्टकेस - यह दिए गए इनपुट के सेट के अनुसार रिस्पांस स्पेसिफिक बेस क्लास है। हम इस ऑपरेशन को लागू करने के लिए यूनिट टेस्ट के बेस क्लास यानी "TestCase" का उपयोग करते हैं।

  • टेस्टसूट - इसका उपयोग टेस्ट केस को एक साथ क्लब करने और उन्हें एक साथ निष्पादित करने के लिए किया जाता है।

  • टेस्टरनर - यह आउटकम-बेस्ड कार्य निष्पादन का पालन करता है। यह कार्यों को निष्पादित करने के बाद परिणाम प्रदर्शित करने में शामिल होता है।

  • टेस्ट फिक्स्चर - यह संबंधित वातावरण में टेस्ट केस के लिए बेसलाइन के रूप में कार्य करता है।

अब आइए एक बुनियादी उदाहरण देखते हैं कि यूनिट टेस्टिंग कैसे काम करती है।

उदाहरण

import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('TUTOR'.lower(), 'tutor')
def test_islower(self):
self.assertTrue('tutor'.islower())
self.assertFalse('Tutor'.islower())

if __name__ == '__main__':
unittest.main()

आउटपुट

...
---------------------------------------------------------------
Ran 2 tests in 0.000s
OK

पायथन में Unittest का उपयोग करके यूनिट टेस्टिंग

यहां हम सिंगल इनहेरिटेंस के रूप में यूनिट टेस्ट क्लास को एक्सटेंड करते हैं। यहां हमने बिल्ट-इन मेथड्स जैसे assertEqual(), assertTrue() और assertFalse() का उपयोग किया है।

assertEqual() का उपयोग आउटपुट को परिणाम के साथ मान्य/तुलना करने के लिए किया जाता है।

assertTrue() का उपयोग यह सत्यापित करने के लिए किया जाता है कि दी गई शर्त True है या नहीं।

assertFalse() का उपयोग यह सत्यापित करने के लिए किया जाता है कि दी गई शर्त False है या नहीं।

उपरोक्त कोड का आउटपुट तीन रूपों में हो सकता है -

OK - यह इंगित करता है कि सभी जनरेटेड टेस्ट सफलतापूर्वक निष्पादित हुए हैं।

FAIL - यह इंगित करता है कि या तो टेस्ट केस फेल हो गया है और एक AssertionError अपवाद उठाया गया है।

ERROR - यह इंगित करता है कि टेस्ट एक अपवाद/एरर उठाता है।

हम डेकोरेटर @unittest.skip(<reason>) का उपयोग कर सकते हैं।

उदाहरण

import unittest
class TestString(unittest.TestCase):
@unittest.skip("check skipped tests")
def test_upper(self):
self.assertEqual('TUTOR'.lower(), 'tutor')
def test_islower(self):
self.assertTrue('tutor'.islower())
self.assertFalse('Tutor'.islower())

if __name__ == '__main__':
unittest.main()

आउटपुट

...
---------------------------------------------------------------
Ran 2 tests in 0.000s
OK (skipped=2)

निष्कर्ष

इस लेख में, हमने पायथन 3.x या उससे पहले के संस्करण में unittest मॉड्यूल का उपयोग करके यूनिट टेस्टिंग के बारे में सीखा।

  1. पायथन का उपयोग करके कॉनवे का लाइफ गेम पायथन का उपयोग करके कॉनवे का लाइफ गेम

    एक ब्रिटिश गणितज्ञ ने 1970 के आसपास अपना लाइफ गेम बनाया - जो मूल रूप से जैविक जीवों की एक कॉलोनी के अराजक फिर भी पैटर्न वाले विकास को दर्शाने वाले नियमों का एक समूह है। लाइफ गेम एक दो-आयामी ग्रिड है जिसमें जीवित और मृत कोशिकाएं होती हैं। लाइफ गेम के नियम अतिजनसंख्या: एक कोशिका मर जाती है (बंद) यदि

  1. Python का उपयोग करके Linux टर्मिनल में फॉर्मेटेड टेक्स्ट Python का उपयोग करके Linux टर्मिनल में फॉर्मेटेड टेक्स्ट

    इस सेक्शन में, हम देखेंगे कि Linux टर्मिनल में फॉर्मेटेड टेक्स्ट कैसे प्रिंट करें। फॉर्मेटिंग द्वारा, हम टेक्स्ट कलर, स्टाइल और कुछ विशेष फीचर्स बदल सकते हैं। Linux टर्मिनल फॉर्मेटिंग, कलर और अन्य फीचर्स को नियंत्रित करने के लिए कुछ ANSI एस्केप सीक्वेंसेस को सपोर्ट करता है। इसलिए हमें टेक्स्ट के साथ

  1. पायथन में CX_Freeze का उपयोग पायथन में CX_Freeze का उपयोग

    कभी-कभी हम कुछ अलग बनाना चाहते हैं जो बहुत रोमांचक हो, और मानव स्वभाव के अनुसार, हम हमेशा इसे साझा करना पसंद करते हैं। पायथन भी उन इच्छाओं को पूरा करता है। पायथन का उपयोग करके, अगर हम अपने पायथन प्रोग्राम को अपने दोस्तों के साथ साझा करना चाहते हैं तो हम ऐसा कर सकते हैं, बस उनके मशीन पर वही पायथन सं