पायथन में पैरामीटरयुक्त इकाई परीक्षण: गतिशील परीक्षण पीढ़ी के लिए एक मार्गदर्शिका
सॉफ्टवेयर विकास में, परीक्षण विश्वसनीयता सुनिश्चित करने में महत्वपूर्ण भूमिका निभाता है और हमारे कोड की सटीकता। यूनिट परीक्षण में, विशेष रूप से, विशिष्ट कार्यों या मॉड्यूल के लिए व्यक्तिगत परीक्षण बनाना शामिल है। हालाँकि, जब बड़े डेटासेट या जटिल परीक्षण परिदृश्यों से निपटते हैं, तो प्रत्येक पैरामीटर के लिए मैन्युअल रूप से परीक्षण लिखना श्रमसाध्य हो जाता है।
पैरामीटरीकृत परीक्षण: गतिशील परीक्षण पीढ़ी के लिए एक समाधान
पैरामीटरयुक्त परीक्षण, जिसे पैरामीटरयुक्त इकाई परीक्षण के रूप में भी जाना जाता है, इनपुट मापदंडों के आधार पर परीक्षण निर्माण की प्रक्रिया को स्वचालित करके इस चुनौती का समाधान करता है। यह हमें रनटाइम पर गतिशील रूप से प्रतिस्थापित किए गए परीक्षण मापदंडों के साथ, डेटा के कई सेटों में एक ही परीक्षण निष्पादित करने की अनुमति देता है। पैरामीट्रिजेशन के लिए उपकरण और पुस्तकालय। इनमें शामिल हैं:
1. पाइटेस्ट का डेकोरेटर:
पाइटेस्ट एक सुविधाजनक डेकोरेटर @pytest.mark.parametrize प्रदान करता है जो पैरामीट्रिजेशन को सरल बनाता है। यह हमें परीक्षण मापदंडों वाले टुपल्स की एक सूची पास करने में सक्षम बनाता है, और डेकोरेटर मूल्यों के प्रत्येक सेट के लिए परीक्षण का विस्तार करता है।उदाहरण:import pytest
@pytest.mark.parametrize("नाम, ए, बी", [
("फू", "ए", "ए"),
("बार", "ए", "बी"),
("ली", "बी", "बी"),
])
डीईएफ़ परीक्षण_अनुक्रम(नाम, ए, बी):
a == b
import pytest @pytest.mark.parametrize("name, a, b", [ ("foo", "a", "a"), ("bar", "a", "b"), ("lee", "b", "b"), ]) def test_sequence(name, a, b): assert a == bउदाहरण:
पैरामीटरयुक्त आयात पैरामीटरयुक्त से
क्लास टेस्टसीक्वेंस(unittest.TestCase):
@parameterized.expand([
("फू", "ए", "ए"),
("बार", "ए", "बी"),
("ली", "बी", "बी"),
])
डीईएफ़ परीक्षण_अनुक्रम(स्वयं, नाम, ए, बी):
self.assertEqual(a, b)
import pytest @pytest.mark.parametrize("name, a, b", [ ("foo", "a", "a"), ("bar", "a", "b"), ("lee", "b", "b"), ]) def test_sequence(name, a, b): assert a == b
परीक्षण प्रयासों में कमी: अलग लिखने की आवश्यकता को समाप्त करता है प्रत्येक पैरामीटर संयोजन के लिए परीक्षण, समय और प्रयास की बचत।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3