जूनित अभिकर्ता & उदाहरण के साथ जोर

क्या है जुनैद असरार?

Assert एक तरीका है जो किसी टेस्ट केस के Pass या Fail स्टेटस को निर्धारित करने में उपयोगी होता है। Assert विधियाँ कक्षा org.junit.Assert द्वारा प्रदान की जाती हैं जो java.lang.Object क्लास तक फैली होती हैं।

बूलियन, नल, आइडेंटिकल आदि विभिन्न प्रकार के दावे हैं।

जूनिट एक वर्ग प्रदान करता है जिसका नाम एसेटर है, जो परीक्षण मामलों को लिखने और परीक्षण की विफलता का पता लगाने में उपयोगी तरीकों का एक समूह प्रदान करता है

मुखर तरीके कक्षा org.junit.Assert द्वारा प्रदान किए जाते हैं जो java.lang.Object वर्ग का विस्तार करते हैं

इस ट्यूटोरियल में, आप सीखेंगे-

  • JUnit मुखर तरीके
  • बूलियन
  • अशक्त वस्तु
  • समान
  • बराबरी का दावा
  • ऐसर ऐयर बराबर
  • विफल संदेश
  • JUnit मुखर
  • फ़्लोटिंग पॉइंट अभिकथन
  • JUnit मुखर उदाहरण

JUnit मुखर तरीके

बूलियन

यदि आप बूलियन स्थितियों (सच्चे या झूठे) का परीक्षण करना चाहते हैं, तो आप निम्नलिखित तरीकों का उपयोग कर सकते हैं

  1. जोर
  2. मुखर (स्थिति)

यहाँ हालत एक बूलियन मूल्य है।

अशक्त वस्तु

यदि आप किसी वस्तु / चर के प्रारंभिक मूल्य की जांच करना चाहते हैं, तो आपके पास निम्नलिखित तरीके हैं:

  1. जोर
  2. assertNotNull (ऑब्जेक्ट)

यहाँ ऑब्जेक्ट जावा ऑब्जेक्ट है जैसे कि एस्टरनल (वास्तविक);

समान

यदि आप यह जांचना चाहते हैं कि क्या वस्तुएं समान हैं (यानी एक ही जावा ऑब्जेक्ट के दो संदर्भों की तुलना करना), या अलग-अलग।

  1. assertSame (अपेक्षित, वास्तविक), यह वास्तविक रूप से सही होगा यदि अपेक्षित == वास्तविक
  2. assertNotSame (अपेक्षित, वास्तविक)

बराबरी का दावा

यदि आप दो वस्तुओं की समानता का परीक्षण करना चाहते हैं, तो आपके पास निम्नलिखित विधियाँ हैं

  • मुखर (अपेक्षित, वास्तविक)

यह सच हो जाएगा अगर: अपेक्षित (असमान) वास्तविक (वास्तविक) रिटर्न।

ऐसर ऐयर बराबर

यदि आप सरणियों की समानता का परीक्षण करना चाहते हैं, तो आपके पास नीचे दिए गए तरीके हैं:

  • दावा

उपरोक्त विधि के लिए प्रत्येक मान्य मान के लिए, अगर सरणियों एक ही लंबाई है इस्तेमाल किया जाना चाहिए मैं , आप इसे नीचे दिए गए के रूप में देख सकते हैं:

  • मुखर (अपेक्षित [i], वास्तविक [i])
  • assertArrayEquals (अपेक्षित [i], वास्तविक [i])

विफल संदेश

यदि आप किसी भी त्रुटि को फेंकना चाहते हैं, तो आप असफल () हैं जो हमेशा एक असफल फैसले का परिणाम होता है।

  • विफल (संदेश);

आपके पास पहले पैरामीटर के रूप में एक अतिरिक्त स्ट्रिंग पैरामीटर के साथ अभिकथन विधि हो सकती है । यह स्ट्रिंग विफलता संदेश में जोड़ा जाएगा यदि अभिकथन विफल हो जाता है। उदा असफल (संदेश) के रूप में लिखा जा सकता है

  • जोर (संदेश, अपेक्षित, वास्तविक)

JUnit मुखर

आपके पास मुखर (ए, बी) है जो ऑब्जेक्ट क्लास के बराबर () पद्धति पर निर्भर करता है ।

  • यहाँ इसका मूल्यांकन a.equals (b) के रूप में किया जाएगा
  • यहां परीक्षण के तहत वर्ग का उपयोग एक उपयुक्त समानता संबंध निर्धारित करने के लिए किया जाता है।
  • यदि कोई क्लास ऑब्जेक्ट क्लास के बराबर () विधि को ओवरराइड नहीं करता है , तो उसे बराबर () विधि, ऑब्जेक्ट ऑब्जेक्ट की डिफ़ॉल्ट व्यवहार मिलेगा ।

यदि a और b आदिम हैं जैसे बाइट , int , बूलियन इत्यादि, तो निम्न कार्य के लिए किया जाएगा।

a और b को उनके समकक्ष रैपर ऑब्जेक्ट प्रकार ( बाइट, इंटेगर , बुलियन , आदि) में परिवर्तित किया जाएगा , और फिर a.equals (b) का मूल्यांकन किया जाएगा।

उदाहरण के लिए: समान मूल्यों वाले नीचे-उल्लेख किए गए तारों पर विचार करें, आइए इसका उपयोग करके परखें

स्ट्रिंग obj1 = "जूनिट";स्ट्रिंग obj2 = "जूनिट";assertEquals (obj1, obj2);

मुखर कथन के ऊपर सही आ जाएगा क्योंकि obj1.equals (obj2) सही है।

फ़्लोटिंग पॉइंट अभिकथन

जब आप फ्लोटिंग पॉइंट प्रकार (जैसे डबल या फ्लोट ) की तुलना करना चाहते हैं , तो फ़्लोटिंग पॉइंट की तुलना करते समय राउंड-ऑफ त्रुटियों के साथ समस्याओं से बचने के लिए आपको एक अतिरिक्त आवश्यक पैरामीटर डेल्टा की आवश्यकता होती है ।

नीचे दिए गए अनुसार मूल्यांकन का मूल्यांकन किया गया है:

  • Math.abs (अपेक्षित - वास्तविक) <= डेल्टा

उदाहरण के लिए:

अभिकथन

JUnit मुखर उदाहरण

नीचे दिए गए उदाहरण से पता चलता है कि JUnit मुखर तरीकों का उपयोग करके किसी शर्त को कैसे मुखर करना है।

आइए Junit4AssertionTest.java नाम से एक साधारण टेस्ट क्लास बनाएं और एक टेस्ट रनर क्लास TestRunner.java

आप JUnit में कुछ चर और महत्वपूर्ण मुखर कथन बनाएंगे।

इस उदाहरण में, आप TestRunner.java का उपयोग करके हमारे परीक्षण वर्ग को निष्पादित करेंगे

चरण 1) आओ हम जूनियर में सभी महत्वपूर्ण मुखर बयान विधियों को कवर करने वाला एक वर्ग बनाते हैं:

जूनिट 4 एसेरिटेशनटेस्ट.जावा

पैकेज गुरु 99. अर्जुन;आयात स्थिर org.junit.Assert। *;आयात org.junit.Test;सार्वजनिक वर्ग@परीक्षासार्वजनिक शून्य परीक्षक () {// परिवर्तनीय घोषणास्ट्रिंग string1 = "जूनिट";स्ट्रिंग string2 = "जूनिट";स्ट्रिंग string3 = "परीक्षण";स्ट्रिंग string4 = "परीक्षण";स्ट्रिंग string5 = null;int variable1 = 1;int variable2 = 2;int [] airethematicAreath1 = {1, 2, 3};int [] airethematicAreath2 = {1, 2, 3};// बयान दर्ज करेंassertEquals (string1, string2);assertSame (string3, string4);assertNotSame (string1, string3);assertNotNull (string1);assertNull (string5);मुखर (चर 1 <चर 2);assertArrayEquals (airethematicAreath1, airethematicAreath2);}}

चरण 2) आपको कक्षा से ऊपर निष्पादित करने के लिए एक परीक्षण धावक वर्ग बनाने की आवश्यकता है:

TestRunner.java

पैकेज गुरु 99. अर्जुन;आयात org.junit.runner.JUnitCore;आयात org.junit.runner.Result;आयात org.junit.runner.notification.Failure;पब्लिक क्लास टेस्टरनर {सार्वजनिक स्थैतिक शून्य main (String [] args) {परिणाम परिणाम = JUnitCore.runClasses (Junit4AssertionTest.class);के लिए (विफलता विफलता: result.getFailures ()) {System.out.println (विफलता.toString ());}System.out.println ("परिणाम ==" + result.wasSuccessful ());}}

चरण 3) आओ हम कदम से अपेक्षित आउटपुट कदम का विश्लेषण करें:

एक-एक करके सभी बयानों पर विचार करें:

  1. assertEquals (string1, string2);

अब string1 = "Junit" को string2 = "Junit" के साथ ऑब्जेक्ट क्लास के बराबर विधि से तुलना करें। Java.lang.Object.equals () विधि से मुखर विधि की जगह:

string1.equals (string2) => सही है

तो अभिकथन (string1, string2) सही लौटेगा ।

  1. assertSame (string3, string4);

"assertSame ()" कार्यक्षमता यह जांचने के लिए है कि दो ऑब्जेक्ट एक ही ऑब्जेक्ट को संदर्भित करते हैं।

चूंकि string3 = "test" और string4 = "test" का अर्थ है string3 और string4 दोनों एक ही प्रकार के हैं, इसलिए assertSame (string3, string4) सही वापस आ जाएंगे ।

  1. assertNotSame (string1, string3);

"assertNotSame ()" कार्यक्षमता यह जांचने के लिए है कि दो ऑब्जेक्ट एक ही ऑब्जेक्ट को संदर्भित नहीं करते हैं।

चूंकि string1 = "Junit" और string3 = "test" का अर्थ है कि string1 और string3 दोनों अलग-अलग प्रकार के हैं, इसलिए assertNotSame (string1, string3) सही वापस आ जाएंगे ।

  1. assertNotNull (string1);

"assertNotNull ()" कार्यक्षमता यह जांचने के लिए है कि कोई ऑब्जेक्ट अशक्त नहीं है।

चूंकि string1 = "Junit" जो एक गैर-शून्य मान है, इसलिए assertNotNull (string1) सही लौटेगा ।

  1. assertNull (string5);

"assertNull ()" कार्यक्षमता यह जांचने के लिए है कि एक ऑब्जेक्ट अशक्त है।

चूंकि string5 = null जो एक अशक्त मान है इसलिए assertNull (string5) सही लौटेगा ।

  1. मुखर (चर 1 <चर 2);

"assertTrue ()" कार्यक्षमता यह जांचने के लिए है कि एक स्थिति सत्य है।

चूँकि चर 1 = 1 और चर 2 = 2, जो यह दर्शाता है कि चर 1 <चर 2 स्थिति सत्य है, इसलिए मुखर (चर 1 <चर 2) सच हो जाएगा ।

  1. assertArrayEquals (airethematicAreath1, airethematicAreath2);

"assertArrayEquals ()" कार्यक्षमता यह जांचने के लिए है कि अपेक्षित सरणी और परिणामी सरणी समान हैं। Array का प्रकार int, long, short, char, byte या java.lang.Object हो सकता है।

चूंकि airethematicAr विरोध 1 = {1, 2, 3} और airethematicAr विरोध 2 = {1, 2, 3} जो दिखाता है कि दोनों सरणियाँ समान हैं, इसलिए asArArrayEquals (airethematicAreath1, airethematicAr विरोध 2) सही लौटेगा

चूंकि Junit4AssertionTest.java वर्ग के सभी सात मुखर कथन सही हैं, इसलिए जब आप परीक्षण अभिकर्मक वर्ग को निष्पादित करते हैं, तो यह एक सफल परीक्षण लौटाएगा। (नीचे उत्पादन देखें)

चरण 4) Junit4AssertionTest.java पर राइट क्लिक करें और रनर्स-> JUnit पर क्लिक करें। आप नीचे दिए गए अनुसार आउटपुट देखेंगे:

उपरोक्त आउटपुट अपेक्षा के अनुरूप एक सफल परीक्षा परिणाम दिखाता है।

सारांश:

इस ट्यूटोरियल में, आपने JUnit द्वारा प्रदान की गई सभी महत्वपूर्ण प्रकार की अभिकथन विधियों को सीखा। साथ ही, आपने बयानों के उदाहरण भी देखे हैं। जिससे पता चलता है कि यदि सभी अभिकथन कथन सत्य हो जाते हैं, तो परीक्षण GUI सही परिणाम देगा और यदि एकल परीक्षण विफल रहता है तो यह एक असफल परिणाम लौटाएगा।

दिलचस्प लेख...