इस लेख में, हम पायथन 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

यहां हम सिंगल इनहेरिटेंस के रूप में यूनिट टेस्ट क्लास को एक्सटेंड करते हैं। यहां हमने बिल्ट-इन मेथड्स जैसे 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 मॉड्यूल का उपयोग करके यूनिट टेस्टिंग के बारे में सीखा।