"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन परीक्षण परिदृश्यों में HTTP अनुरोधों और प्रतिक्रियाओं की नकल कैसे करें?

पायथन परीक्षण परिदृश्यों में HTTP अनुरोधों और प्रतिक्रियाओं की नकल कैसे करें?

2024-11-02 को प्रकाशित
ब्राउज़ करें:504

How to Mock HTTP Requests and Responses in Python Testing Scenarios?

पायथन परीक्षण के लिए मॉकिंग अनुरोध और प्रतिक्रियाएं

पायथन परीक्षण में, निष्पादन के प्रवाह को नियंत्रित करने के लिए मॉड्यूल और उनकी कार्यक्षमता का मॉक करना आवश्यक हो जाता है और विशिष्ट परिदृश्यों को सत्यापित करें। इनमें, मॉकिंग रिक्वेस्ट मॉड्यूल का उपयोग आमतौर पर उन कार्यों या विधियों का परीक्षण करने के लिए किया जाता है जो HTTP अनुरोधों पर निर्भर होते हैं।

निम्न कोड के साथ एक view.py फ़ाइल पर विचार करें:

def myview(request):
    res1 = requests.get('aurl')
    res2 = request.get('burl')
    res3 = request.get('curl')

इस व्यवहार का नकल करने के लिए, आप पायथन मॉक पैकेज का उपयोग कर सकते हैं। यहां बताया गया है कि आप इसे चरण दर चरण कैसे प्राप्त कर सकते हैं:

चरण 1: मॉक व्यवहार को परिभाषित करें

अनुरोध मॉड्यूल को मॉक करने के लिए, एक फ़ंक्शन को परिभाषित करें जो अनुरोधों को प्रतिस्थापित करेगा। प्राप्त करें (). इस फ़ंक्शन में, आप प्रत्येक URL के लिए वांछित प्रतिक्रिया निर्दिष्ट कर सकते हैं।

def mocked_requests_get(*args, **kwargs):
    class MockResponse:
        def __init__(self, json_data, status_code):
            self.json_data = json_data
            self.status_code = status_code

        def json(self):
            return self.json_data

    if args[0] == 'aurl':
        return MockResponse({'a': 'a'}, 200)
    elif args[0] == 'burl':
        return MockResponse({'b': 'b'}, 200)
    elif args[0] == 'curl':
        return MockResponse({'c': 'c'}, 200)

    return MockResponse(None, 404)

चरण 2: अनुरोध मॉड्यूल को पैच करें

अपने परीक्षण मामले में, वास्तविक अनुरोधों को बदलने के लिए मॉक.पैच() डेकोरेटर का उपयोग करें आपके मॉक फ़ंक्शन के साथ मॉड्यूल।

@mock.patch('requests.get', side_effect=mocked_requests_get)
def test_myview(self, mock_get):
    # Call the function you want to test
    myview(None)
    # Assertions for expected responses
    ...

चरण 3: दावे सत्यापित करें

अपने परीक्षण फ़ंक्शन के भीतर, आप यह सत्यापित करने के लिए दावे का उपयोग कर सकते हैं कि अपेक्षित प्रतिक्रियाएं वापस आ गई हैं।

self.assertEqual(mock_get.call_args_list[0][0][0], 'aurl')
self.assertEqual(mock_get.call_args_list[1][0][0], 'burl')
self.assertEqual(mock_get.call_args_list[2][0][0], 'curl')

इन चरणों का पालन करके, आप HTTP अनुरोधों को प्रभावी ढंग से मॉक कर सकते हैं और अपने पायथन परीक्षण परिदृश्यों में प्रतिक्रियाओं को नियंत्रित कर सकते हैं। यह आपको विशिष्ट कार्यक्षमता को अलग करने और परीक्षण करने की अनुमति देता है जबकि यह सुनिश्चित करता है कि बाहरी निर्भरताएं आपके परिणामों में हस्तक्षेप नहीं करती हैं।

विज्ञप्ति वक्तव्य इस लेख को पुन: पेश किया गया है: 1729424478 यदि कोई उल्लंघन है, तो इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3