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

आप कैसे टेस्ट करते हैं कि पायथन फंक्शन एक एक्सेप्शन फेंकता है?

हम एक यूनिट टेस्ट लिखते हैं जो केवल तभी फेल होता है जब फंक्शन अपेक्षित एक्सेप्शन नहीं फेंकता।

हम यह भी टेस्ट करते हैं कि क्या पायथन फंक्शन एक्सेप्शन फेंकता है।

उदाहरण के लिए, पायथन की टाइप-सेफ्टी को टेस्ट करने के लिए पायथन शेल में पेस्ट किए गए नमूना कोड को देखें:

उदाहरण

import unittest
class MyTestCase(unittest.TestCase):
    def test_1_cannot_add_int_and_str(self):
        with self.assertRaises(TypeError):
            1 + '1'
    def test_2_cannot_add_int_and_str(self):
        import operator
        self.assertRaises(TypeError, operator.add, 1, '1')
unittest.main(exit=False)

टेस्ट चलाना

आउटपुट

और टर्मिनल निम्न आउटपुट देता है:

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

टेस्ट वन assertRaises को कॉन्टेक्स्ट मैनेजर के रूप में उपयोग करता है, जो सुनिश्चित करता है कि एरर ठीक से पकड़ा गया और साफ किया गया, जबकि रिकॉर्ड किया गया।

हम इसे कॉन्टेक्स्ट मैनेजर के बिना भी लिख सकते हैं, टेस्ट टू देखें। पहला आर्गुमेंट वह एरर टाइप होगा जिसे आप उठने की उम्मीद करते हैं, दूसरा आर्गुमेंट वह फंक्शन जिसे आप टेस्ट कर रहे हैं, और शेष आर्ग्स और कीवर्ड आर्ग्स उस फंक्शन को पास किए जाएंगे।

कॉन्टेक्स्ट मैनेजर का उपयोग करना कहीं अधिक सरल और पठनीय है।

हम देखते हैं कि जैसा हम उम्मीद करते हैं, 1 और '1' को जोड़ने का प्रयास TypeError में परिणाम देता है।

  1. पायथन मैटप्लॉटलीब में मल्टीवेरिएट फंक्शन कैसे प्लॉट करें? पायथन मैटप्लॉटलीब में मल्टीवेरिएट फंक्शन कैसे प्लॉट करें?

    पायथन में मल्टीवेरिएट फंक्शन प्लॉट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: चरण फिगर साइज़ सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें। नम्पी का उपयोग करके रैंडम x, y और z डेटा पॉइंट्स बनाएं। एक फिगर और सबप्लॉट्स का सेट बनाएं। x, y और z डेटा पॉइंट्स के साथ स्कैटर प्लॉट बनाएं। स्

  1. - पायथन में फंक्शन कैसे परिभाषित करें?

    फंक्शन कोड का एक टुकड़ा है जिसे नाम से बुलाया जाता है। इसे ऑपरेट करने के लिए डेटा पास किया जा सकता है (यानी पैरामीटर्स) और वैकल्पिक रूप से डेटा वापस कर सकता है (रिटर्न मान)। फंक्शन को पास किया गया सभी डेटा स्पष्ट रूप से पास किया जाता है। फंक्शन परिभाषित करने का सिंटैक्स: def function_name(): #do

  1. - पायथन में लैम्ब्डा फंक्शन का उपयोग कैसे करें?

    ये मूल रूप से रनटाइम पर बनाए गए अनाम वन-लाइन फंक्शन्स हैं जो फंक्शन्स के नाम से बाउंड नहीं होते। वे फंक्शन की परिभाषा को ऑन-द-फ्लाई लौटाते हैं। लैम्ब्डा फंक्शन्स में रिटर्न स्टेटमेंट नहीं होता, वे हमेशा एक एक्सप्रेशन लौटाते हैं। आप लैम्ब्डा परिभाषा को कहीं भी रख सकते हैं जहां फंक्शन की अपेक्षा हो। म