जमैट में परिमाप्य परीक्षण क्या है?
अलग-अलग मानों का उपयोग करके बार-बार एक ही परीक्षण को निष्पादित करना है। यह डेवलपर को उसी परीक्षण को निष्पादित करने में समय बचाने में मदद करता है जो केवल उनके इनपुट और अपेक्षित परिणामों में भिन्न होता है।
Parameterized परीक्षण का उपयोग करके, कोई परीक्षण विधि सेट कर सकता है जो कुछ डेटा स्रोत से डेटा पुनर्प्राप्त करता है।
विभिन्न संख्याओं को योग करने के लिए एक सरल परीक्षण पर विचार करें। कोड की तरह लग सकता है -
ऊपर का दृष्टिकोण अतिरेक की ओर ले जाता है।
हमें एक सरल दृष्टिकोण और चाहिए। पैरामीटर किए गए परीक्षण का उपयोग करके आप केवल 10 डेटा इनपुट इनपुट करने की एक विधि जोड़ सकते हैं और आपका परीक्षण स्वचालित रूप से 10 बार चलेगा।
Parameterized JUnit परीक्षण बनाने के लिए चरण
निम्नलिखित कोड एक मानकीकृत परीक्षण के लिए एक उदाहरण दिखाता है। यह अंकगणित वर्ग के योग () विधि का परीक्षण करता है:
चरण 1) एक वर्ग बनाएं। इस उदाहरण में, हम sum (int, int) विधि का उपयोग करके दो संख्याओं को इनपुट करने जा रहे हैं जो दिए गए संख्याओं का योग लौटाएगा
चरण 2) एक मानकीकृत परीक्षण वर्ग बनाएं
कोड स्पष्टीकरण
- कोड लाइन 11: @runWith (Parameterized.class) का उपयोग करके अपने परीक्षण वर्ग की व्याख्या करें।
- कोड लाइन 13: चर 'फर्स्ट नम्बर' को निजी के रूप में घोषित करना और इंट के रूप में टाइप करना।
- कोड लाइन 14: 'दूसरे नम्बरम्बर' के वैरिएबल को निजी घोषित करना और इंट को टाइप करना।
- कोड लाइन 15: 'अपेक्षितResult'as चर की घोषणा करते हुए निजी और int के रूप में टाइप करें।
- कोड लाइन 16: चर 'airthematic'as को निजी घोषित करना और Airthematic के रूप में टाइप करना।
@RunWith ( class_name.class ): @RunWith एनोटेशन का उपयोग इसके धावक वर्ग के नाम को निर्दिष्ट करने के लिए किया जाता है। यदि हम किसी भी प्रकार को पैरामीटर के रूप में निर्दिष्ट नहीं करते हैं, तो रनटाइम डिफ़ॉल्ट रूप से BlockJunit4ClassRunner का चयन करेगा ।
यह वर्ग परीक्षण के लिए एक नए परीक्षण उदाहरण के साथ चलने के लिए जिम्मेदार है। यह सेटअप (सहयोगी संसाधनों) और फाड़ (रिलीज संसाधन) जैसे JUnit जीवनचक्र विधियों को लागू करने के लिए जिम्मेदार है।
पैरामीटर करने के लिए आपको @RunWith का उपयोग करके एनोटेट करने की आवश्यकता है और परीक्षण करने के लिए .class पास करना होगा
चरण 3) एक निर्माता बनाएं जो परीक्षण डेटा संग्रहीत करता है। यह 3 चरों को संग्रहीत करता है
चरण 4) एक स्थैतिक विधि बनाएं जो परीक्षण डेटा उत्पन्न करता है और लौटाता है।
कोड लाइन 32,33: द्वि-आयामी सरणी बनाना (इसके अलावा इनपुट पैरामीटर प्रदान करना)। AsList पद्धति का उपयोग करके हम डेटा को सूची प्रकार में परिवर्तित करते हैं। चूंकि, इनपुट इनपुट का रिटर्न प्रकार संग्रह है।
कोड लाइन 30: हमारे परीक्षण को चलाने के लिए इनपुट डेटा का एक सेट बनाने के लिए @ पैरामीटर्स एनोटेशन का उपयोग करना ।
@ पैरामीटर्स एनोटेशन द्वारा पहचानी गई स्थिर विधि एक संग्रह लौटाती है जहां संग्रह में प्रत्येक प्रविष्टि परीक्षण के एक पुनरावृत्ति के लिए इनपुट डेटा होगी।
हाथी पर विचार करें
{1,2,3}
यहाँ
फर्स्टनंबर = 1
दूसरा नम्बर = 2
अपेक्षित। परिणाम = ३
यहां प्रत्येक सरणी तत्व को कंस्ट्रक्टर को पास किया जाएगा, एक समय में जब क्लास को कई बार त्वरित किया जाता है।
चरण 5) पूरा कोड
कोड स्पष्टीकरण:
- कोड लाइन 25: संसाधनों को सेटअप करने के लिए @Before एनोटेशन का उपयोग करना (यहां Airthematic.class)। प्रत्येक परीक्षण मामले से पहले चलने के लिए @Before एनोटेशन का उपयोग यहां किया जाता है। इसमें परीक्षण का पूर्वधारण शामिल है।
- कोड रेखा 36: हमारी परीक्षा बनाने के लिए @ सबसे अधिक एनोटेशन का उपयोग करना।
- कोड रेखा 39: यह जाँचने के लिए कि क्या हमारा योग हमारी उम्मीद के बराबर है जाँच करने के लिए एक मुखर कथन बनाना।
चरण 6) मानकीकृत परीक्षण चलाने के लिए एक परीक्षण धावक वर्ग बनाएं:
कोड स्पष्टीकरण:
- कोड लाइन 8: क्लास टेस्ट की मुख्य विधि की घोषणा करना जो हमारे JUnit टेस्ट को चलाएगा।
- कोड लाइन 9: JunitCore.runclasses का उपयोग करके परीक्षण मामलों को निष्पादित करना, यह एक पैरामीटर के रूप में परीक्षण वर्ग का नाम लेगा (हमारे उदाहरण में हम Airthematic.class का उपयोग कर रहे हैं)।
- कोड लाइन 11: लूप और प्रिंट आउट का उपयोग करके परिणाम को संसाधित करना विफल परिणाम था।
- कोड लाइन 13: सफल परिणाम का मुद्रण।
आउटपुट:
यहां वह आउटपुट है जो नीचे दिए गए अनुसार किसी भी विफलता के निशान के साथ सफल परीक्षण दिखाता है:
कंसोल पर परिणाम देखें, जो दो संख्याओं के अलावा दिखाता है: -
सारांश :
Parameterized परीक्षण डेवलपर को विभिन्न मानों का उपयोग करके एक ही परीक्षण को बार-बार निष्पादित करने में सक्षम बनाता है।
पैरामीटरेशन के दौरान उपयोग किए जाने वाले महत्वपूर्ण एनोटेशन
- @साथ चलाएं
- @ पैरामीटर्स