हे ट्यूटोरियल उदाहरणांसह JUnit मधील चाचणी प्रकरणांकडे दुर्लक्ष कसे करावे हे स्पष्ट करते. तुम्ही JUnit 4 मध्ये @Ignore वापरायला शिकाल & @Disabled annotation in JUnit 5:
मागील ट्युटोरियलमध्ये, एपीआयला एनोटेशन काय म्हणतात, ते काय करते हे समजून घेतले आणि लाइफसायकल एनोटेशन कसे वापरावेत, ते प्राधान्यक्रम कसे वापरावेत याची मूलभूत उदाहरणे देखील पाहिली. चाचणी केस अंमलात आणल्यावर धरून ठेवा.
आम्हाला जेव्हा ची गरज असते नाही धावणे किंवा असते परिस्थितींवर प्रकाश टाकण्याचा प्रयत्न करूया सर्व चाचणी प्रकरणे चालवणे अपेक्षित नाही. आम्ही JUnit मध्ये चाचणी प्रकरणांकडे दुर्लक्ष करायला शिकू.
JUnit चाचणी प्रकरणांकडे दुर्लक्ष करा
काही चाचणी प्रकरणे असू शकतात जी चालवली जाऊ शकत नाहीत कारण ती कदाचित चालत नाहीत काही कोड बदलांशी संबंधित असू शकतात किंवा चाचणी प्रकरणांसाठीचा कोड अद्याप विकासाधीन असू शकतो, म्हणून आम्ही ते चालवणे टाळतो.
अशा प्रकरणांमध्ये, आम्हाला काही इतर वगळून चाचणी प्रकरणांचा संच चालवावा लागेल. . तर, JUnit 4, तसेच JUnit 5, आम्हाला काय प्रदान करते ज्यामुळे आम्ही काही चाचणी प्रकरणांकडे दुर्लक्ष करून किंवा अक्षम करून किंवा याला 'वगळणे' म्हणत असताना केवळ काही चाचणी प्रकरणे चालवू शकतो?3
सुदैवाने, आमच्याकडे चाचणी केस वगळण्यासाठी JUnit 4 साठी @Ignore भाष्य आहे तर JUnit 5 साठी @Disabled भाष्य आहे. तेच करण्यासाठी.
JUnit 4 – @Ignore annotation
- JUnit 4 @Ignore भाष्य चाचणी पद्धतीसाठी लागू केले जाऊ शकते, त्याची अंमलबजावणी वगळण्यासाठी. या प्रकरणात,तुम्ही वगळू इच्छित असलेल्या चाचणी पद्धतीसाठी तुम्हाला @Test भाष्यासह @Ignore वापरणे आवश्यक आहे.
- क्लास अंतर्गत सर्व चाचणी प्रकरणे वगळण्यासाठी भाष्य चाचणी वर्गावर देखील लागू केले जाऊ शकते. या प्रकरणात, तुम्हाला वर्ग स्तरावर @Ignore वापरणे आवश्यक आहे.
कोडला org.junit पॅकेज आवश्यक आहे. @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 चाचणी प्रकरणे दर्शवते आणि 1 चाचणी केस वगळले गेले. धावांची संख्या 3/3 दर्शविली कारण वगळलेल्या टेस्टकेसने देखील कार्यान्वित करण्याचा प्रयत्न केला आहे.
कन्सोल विंडोचा खालील स्क्रीनशॉट हेच सिद्ध करतो.
3
@Ignore भाष्य विथ अ रिझन पॅरामीटर
@Ignore annotation मध्ये देखील फरक आहे. भाष्य एका स्ट्रिंग व्हॅल्यूसह एकाच युक्तिवादात घेते जे चाचणी वगळण्याचे कारण आहे.
चला @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 annotation ला कारण दिल्याशिवाय तोच परिणाम दाखवते.
आता, सर्व चाचण्या कशा होतात ते पाहू.वर्गाशी संबंधित अक्षम केले जाऊ शकते. आम्ही आता 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"); }
क्लास फाईलच्या अंमलबजावणीनंतर, कन्सोल काहीही नाही, दाखवतो आणि JUnit टॅब अंतर्गत चालवा गणना दाखवते 1 वर्ग पैकी 1 वर्ग वगळला आहे .
खाली कन्सोल विंडोचा स्क्रीनशॉट आहे:
JUnit 5 – @Disabled भाष्य
JUnit 5 मधील @Disabled annotation JUnit 4 मधील @Ignore annotation प्रमाणेच कार्य करते.
- तुम्ही चाचणी स्तरावर भाष्य लागू करून चाचणी पद्धती किंवा चाचण्यांच्या गटासाठी अंमलबजावणी अक्षम किंवा वगळू शकता.
- किंवा चाचणी पद्धती स्तरावर लागू करण्याऐवजी @Disabled भाष्य लागू करून सर्व चाचण्या वगळल्या जाऊ शकतात.
@Ignore सारखे, कारण देखील पास केले जाऊ शकते विशिष्ट चाचणीकेस का वगळला गेला हे जाणून घेण्यासाठी कोणत्याही विकसक किंवा व्यवसाय विश्लेषकासाठी @Disabled. @Ignore च्या बाबतीत जसे पॅरामीटर पर्यायी राहते.
( टीप: आम्ही @Disabled भाष्य प्रत्यक्ष कोडद्वारे प्रदर्शित करणे टाळू जेणेकरून ते खालीलप्रमाणे पुनरावृत्ती टाळू. JUnit 4 मध्ये @Ignore ची नेमकी फॅशन आहे.)
तुम्ही @Ignore Vs @Disabled च्या बाबतीत फक्त एवढाच फरक पहाल की जेव्हा भाष्य येथे लागू केले जाते. वर्ग स्तर, JUnit वर्ग फाईलची अंमलबजावणी नंतर, JUnit 4 च्या बाबतीत धावांची संख्या, 1/1 वर्ग वगळलेले दाखवते.
म्हणून वगळलेल्या वर्गाची संख्या दिली जाते तर JUnit 5 3/3 चाचणी प्रकरणे वगळण्यात आल्याचे दाखवते कारण वर्गातील एकूण तीन चाचणी पद्धतींपैकी तीन चाचणी पद्धती वगळण्यात आल्या आहेत .
म्हणून, वगळलेल्या चाचणी प्रकरणांची दृश्यमानता , JUnit 5 JUnit 4 च्या तुलनेत थोडेसे चांगले कार्य करते.
निष्कर्ष
या ट्युटोरियलमध्ये, आम्ही शिकलो की कोणत्या परिस्थितीत काही चाचणी प्रकरणे वगळण्याची आवश्यकता असू शकते. आम्ही JUnit 4 आणि JUnit 5 दोन्हीमध्ये काही विशिष्ट चाचणी प्रकरणे कशी वगळायची हे देखील शिकलो.