यह ट्यूटोरियल समझाता है कि उदाहरण के साथ JUnit में टेस्ट केस को कैसे अनदेखा किया जाए। आप JUnit 4 & में @Ignore का उपयोग करना सीखेंगे। JUnit 5 में @Disabled Annotation:
पिछले ट्यूटोरियल में, हमें समझ में आया कि एनोटेशन नामक एपीआई क्या है, यह क्या करता है और जीवनचक्र एनोटेशन का उपयोग करने के तरीके पर बुनियादी उदाहरण भी देखे, प्राथमिकताएं टेस्ट केस निष्पादित होने पर होल्ड करें।
आइए उन स्थितियों पर प्रकाश डालने का प्रयास करें जब हमें जरूरत नहीं दौड़ना है या हैं नहीं माना जाता है कि सभी परीक्षण मामले चलाए जाएं। हम JUnit में टेस्ट केस को इग्नोर करना सीखेंगे।
JUnit टेस्ट केस को इग्नोर करें
कुछ ऐसे टेस्ट केस हो सकते हैं जिन्हें चलाया नहीं जा सकता क्योंकि वे नहीं चल सकते कुछ कोड परिवर्तनों से संबंधित हो या परीक्षण मामलों के कोड अभी भी विकास के अधीन हो सकते हैं, इसलिए हम उन्हें चलाने से बचते हैं।
ऐसे मामलों में, हमें कुछ अन्य मामलों को छोड़ कर परीक्षण मामलों का एक सेट चलाने की आवश्यकता हो सकती है . तो, यह क्या है कि JUnit 4, साथ ही JUnit 5, हमें प्रदान करता है ताकि हम केवल कुछ परीक्षण मामलों को अनदेखा या अक्षम करते हुए चला सकें या इसे कुछ परीक्षण मामलों को 'स्किपिंग' कह सकें?3
सौभाग्य से, हमारे पास @Ignore एनोटेशन है JUnit 4 के लिए टेस्ट केस को स्किप करने के लिए जबकि @Disabled एनोटेशन JUnit 5 के लिए ऐसा ही करने के लिए। इस मामले में,आप जिस परीक्षण विधि को छोड़ना चाहते हैं, उसके लिए आपको @Test एनोटेशन के साथ @Ignore का उपयोग करने की आवश्यकता है।
कोड को org.junit.Ignore के पैकेज की आवश्यकता है ताकि @Ignore को काम करने के लिए आयात किया जा सके। आइए प्रदर्शित करें कि JUnit 4 टेस्ट में टेस्ट मेथड को कैसे छोड़ें। हम पहले टेस्टकेस विधि को छोड़ने के लिए JUnitProgram.java को संशोधित करेंगे।
कोड स्निपेट है:
@Ignore @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); } @Test public void test_JUnit2() { System.out.println("This is the testcase test_JUnit2() in this class"); } @Test public void test_JUnit3() { System.out.println("This is the testcase test_JUnit3() in this class"); }
क्लास फ़ाइल के निष्पादन पर, test_JUnit1() निष्पादन के दौरान छोड़ दिया जाता है। इसके अलावा, @Ignore के साथ एनोटेट की गई विधि और अन्य सभी परीक्षण विधियाँ अपेक्षित रूप से चलती हैं। रन काउंट ने 3/3 दिखाया क्योंकि छोड़े गए टेस्टकेस ने भी निष्पादित करने का प्रयास किया।
कंसोल विंडो का नीचे दिया गया स्क्रीनशॉट वही साबित करता है।
3
@Ignore Annotation with A Reason Parameter
@Ignore एनोटेशन में भी भिन्नता है। एनोटेशन एक स्ट्रिंग मान के साथ एक एकल तर्क लेता है जो परीक्षण को छोड़ने का कारण है। :
@Ignore("the testcase is under development") @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); }
कंसोल विंडो वही परिणाम दिखाती है जो बिना कारण के @Ignore एनोटेशन को दिया गया था।
अब, देखते हैं कि सभी परीक्षण कैसे होते हैंएक वर्ग से संबंधित अक्षम किया जा सकता है। अब हम JUnitProgram.java
कोड स्निपेट के लिए वर्ग स्तर पर @Ignore एनोटेशन को अपडेट करेंगे जैसा कि नीचे दिखाया गया है:
import org.junit.AfterClass; @Ignore("the testcase is under development") public class JUnitProgram { @BeforeClass public static void preClass() { System.out.println("This is the preClass() method that runs one time before the class"); } @Before public void setUp() { System.out.println("_______________________________________________________\n"); System.out.println("This is the setUp() method that runs before each testcase"); } @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); }
क्लास फ़ाइल के निष्पादन के बाद, कंसोल दिखाता है कुछ नहीं, और रन गिनती जुनीट टैब के तहत दिखाता है 1 क्लास में से 1 क्लास छोड़ दी गई .
नीचे कंसोल विंडो का स्क्रीनशॉट है:
JUnit 5 – @Disabled Annotation
JUnit 5 में @Disabled एनोटेशन JUnit 4 में @Ignore एनोटेशन के समान काम करता है। 11>
@Ignore की तरह, एक कारण भी पारित किया जा सकता है for @Disabled किसी भी डेवलपर या व्यापार विश्लेषक के लिए यह जानने के लिए कि एक विशिष्ट टेस्टकेस क्यों छोड़ा गया था। @Ignore के मामले में पैरामीटर वैकल्पिक रहता है। सटीक फैशन @Ignore JUnit 4 में अनुसरण करता है।)
@ इग्नोर बनाम @ डिसेबल के मामले में आप जो एकमात्र अंतर देखेंगे, वह यह है कि जब एनोटेशन पर लागू किया जाता है वर्ग स्तर, JUnit वर्ग फ़ाइल के निष्पादन के बाद, JUnit 4 के मामले में रन काउंट दिखाता है कि 1/1 क्लास छोड़ दी गई है। JUnit 5 दिखाता है कि 3/3 परीक्षण मामलों को छोड़ दिया गया है, यह देखते हुए कि तीन परीक्षण विधियों को छोड़ दिया गया था कक्षा में कुल तीन परीक्षण विधियों में से।
इसलिए, पर छोड़े गए परीक्षण मामलों की संख्या की दृश्यता , JUnit 5 JUnit 4 की तुलना में थोड़ा बेहतर काम करता है।
निष्कर्ष
इस ट्यूटोरियल में, हमने सीखा कि ऐसी कौन सी स्थितियाँ हैं जब हमें कुछ टेस्ट केस के निष्पादन को छोड़ने की आवश्यकता हो सकती है। हमने यह भी सीखा कि JUnit 4 और JUnit 5 दोनों में कुछ परीक्षण मामलों को कैसे छोड़ें।