इस लेख में, हम पायथन 3.x में उपलब्ध unittest मॉड्यूल की मदद से सॉफ्टवेयर टेस्टिंग के फंडामेंटल्स सीखेंगे। या इससे पहले। यह ऑटोमेशन, टेस्ट्स के लिए सेटअप और एग्जिट कोड शेयर करने, और हर फ्रेमवर्क के लिए इंडिपेंडेंट टेस्ट्स की अनुमति देता है।
यूनिट टेस्ट में, हम ऑब्जेक्ट ओरिएंटेड कॉन्सेप्ट्स की एक विस्तृत विविधता का उपयोग करते हैं। हम यहां कुछ प्रमुख उपयोग की जाने वाली अवधारणाओं पर चर्चा करेंगे।
- TestCase – यह दिए गए इनपुट्स के सेट के अनुसार रिस्पांस स्पेसिफिक बेस क्लास है। हम इस ऑपरेशन को लागू करने के लिए unittest के बेस क्लास यानी "TestCase" का उपयोग करते हैं।
- TestSuite – इसका उपयोग टेस्ट केसेस को एक साथ क्लब करने और उन्हें एक साथ निष्पादित करने के लिए किया जाता है।
- TestRunner – यह आउटकम-बेस्ड एग्जीक्यूशन ऑफ टास्क्स का पालन करता है। यह टास्क्स निष्पादित करने के बाद परिणाम प्रदर्शित करने में शामिल होता है।
- TestFixture – यह संबंधित एनवायरनमेंट में टेस्ट केसेस के लिए बेसलाइन के रूप में कार्य करता है।
अब एक बेसिक उदाहरण देखते हैं कि यूनिट टेस्टिंग कैसे काम करती है।
उदाहरण
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 मॉड्यूल का उपयोग करके यूनिट टेस्टिंग के बारे में सीखा। या इससे पहले।