Unittest से परिचय

Python में Testing का परिचय

Alexander Levin

Data Scientist

OOP रिकैप

  • OOP - ऑब्जेक्ट और क्लास पर आधारित प्रोग्रामिंग पैरेडाइम।
  • Class - ऑब्जेक्ट का टेम्पलेट, जिसमें मेथड और एट्रिब्यूट हो सकते हैं।
  • Method - क्लास से जुड़ा फंक्शन या प्रक्रिया।
  • Attribute - क्लास से जुड़ा वैरिएबल।
  • Object - क्लास का इंस्टेंस।
  • Python क्लास का उदाहरण:
    class Rectangle:
      # Constructor of Rectangle
      def __init__(self, a, b):
          self.a = a
          self.b = b
      # Area method
      def get_area(self):
          return self.a * self.b
    # Usage example
    r = Rectangle(4, 5)
    print(r.get_area())
    
>> 20
Python में Testing का परिचय

OOP Inheritance

  • क्लासेस दूसरी क्लासेस से प्रॉपर्टीज़ इनहेरिट कर सकती हैं।
  • नई क्लास के नाम के बाद ब्रैकेट में parent क्लास रखें।
    class RedRectangle(Rectangle):
      self.color = 'red'
    
Python में Testing का परिचय

unittest क्या है

  • unittest - टेस्ट ऑटोमेशन के लिए बिल्ट-इन Python फ्रेमवर्क (Python के साथ इंस्टॉल आता है)।
  • unittest - केवल यूनिट टेस्ट तक सीमित नहीं।
  • OOP-आधारित: हर टेस्ट केस एक क्लास होता है, और हर टेस्ट एक मेथड।
  • Test case - टेस्टिंग का एक इंस्टेंस।
  • Test suite - टेस्ट केस का संग्रह।
Python में Testing का परिचय

unittest बनाम pytest

unittest

  • OOP-आधारित - टेस्ट क्लासेस बनानी पड़ती हैं)
  • बिल्ट-इन (Python डिस्ट्रीब्यूशन के साथ इंस्टॉल)
  • ज़्यादा assertion मेथड्स

pytest

  • फंक्शन-आधारित - test_ से शुरू होने वाले स्क्रिप्ट/फंक्शन ढूँढता है
  • थर्ड-पार्टी पैकेज (Python डिस्ट्रीब्यूशन से अलग इंस्टॉल करना होता है)

  • कम assertion मेथड्स

Python में Testing का परिचय

unittest से टेस्ट कैसे बनाएँ

Exponentiation ऑपरेटर का टेस्ट:

import unittest

# Declaring the TestCase class
class TestSquared(unittest.TestCase):
    # Defining the test
    def test_negative(self):
        self.assertEqual((-3) ** 2, 9)
Python में Testing का परिचय

Assertion methods

  • .assertEqual(), .assertNotEqual()
  • .assertTrue(), .assertFalse()
  • .assertIs(), .assertIsNone()
  • .assertIsInstance(), .assertIn()
  • .assertRaises()
  • और भी कई
Python में Testing का परिचय

सारांश

  • unittest - टेस्ट ऑटोमेशन के लिए OOP-आधारित बिल्ट-इन Python फ्रेमवर्क
  • Test case - unittest में टेस्टिंग का इंस्टेंस
  • टेस्ट बनाने के लिए:
    1. unittest.TestCase से इनहेरिट करती क्लास घोषित करें
    2. टेस्ट फंक्शन परिभाषित करें
  • Assertion methods
Python में Testing का परिचय

अभ्यास करते हैं!

Python में Testing का परिचय

Preparing Video For Download...