JUnit ढांचे को जोड़ना
जावा कोड का परीक्षण करने के लिए, हमारे पास JUnit नामक एक बड़ा ढांचा है । यह बहुत अच्छा काम करता है, यह लगातार अद्यतन किया जाता है, यह बहुत लोकप्रिय है और निश्चित रूप से Intellij IDEA इसके साथ बहुत मजबूती से एकीकृत है।
अब हर कोई इस ढांचे के पांचवें संस्करण - जूनिट 5 का उपयोग कर रहा है , हालांकि कई परियोजनाओं में आप अभी भी इसका चौथा संस्करण पा सकते हैं। वे बहुत अलग नहीं हैं, लेकिन फिर भी हम नवीनतम पर एक नज़र डालेंगे। मुझे लगता है कि जब तक आप सक्रिय रूप से परीक्षण लिखना शुरू करेंगे, तब तक आप मेरी पसंद को स्वीकार कर लेंगे।
तो, JUnit को प्रोजेक्ट में कैसे जोड़ा जाए? मावेन सीखने के बाद यह आसान हो जाएगा: बस इस कोड को अपने pom.xml में जोड़ें:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
वैसे, यदि आप चाहते हैं कि मावेन आपके परीक्षणों को निर्माण चरण ( परीक्षण चरण ) पर चलाए, तो आपको pom.xml में एक और टुकड़ा जोड़ने की आवश्यकता है:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>
@ टेस्ट एनोटेशन
मान लीजिए कि आपके पास एक कक्षा है जिसे आप परीक्षण करना चाहते हैं। इसे करने का बेहतरीन तरीका क्या है? आइए कुछ उदाहरण से शुरू करें, क्योंकि अमूर्त वर्ग का परीक्षण करना कठिन है :)
मान लीजिए कि हमारे पास एक कैलकुलेटर वर्ग है जो 4 बुनियादी संचालन कर सकता है: जोड़, घटाव, गुणा और भाग। आइए इसे लिखते हैं:
class Calculator {
public int add(int a, int b) {
return a+b;
}
public int sub(int a, int b) {
return a-b;
}
public int mul (int a, int b) {
return a*b;
}
public int div(int a, int b) {
return a/b;
}
}
हम इस वर्ग के तरीकों का परीक्षण करना चाहते हैं। आप कभी नहीं जानते, भविष्य में वे कुछ बदल देंगे और सब कुछ काम करना बंद कर देगा। हम इसके लिए परीक्षण कैसे लिख सकते हैं?
हमें एक और वर्ग बनाने की जरूरत है। ऐसा करने के लिए, वे आमतौर पर एक ही नाम लेते हैं और टेस्ट प्रत्यय जोड़ते हैं । प्रत्येक विधि के लिए, आपको कम से कम एक परीक्षण विधि जोड़नी होगी। उदाहरण:
class CalculatorTest {
@Test
public void add() {
}
@Test
public void sub() {
}
@Test
public void mul() {
}
@Test
public void div() {
}
}
एक आवश्यकता हुआ करती थी कि विधि का नाम शब्द test से शुरू होता है , लेकिन अब इसकी आवश्यकता नहीं है।
JUnit परीक्षण उदाहरण
आइए कुछ उदाहरण लिखते हैं जिसमें हम अपने कैलकुलेटर टेस्ट वर्ग के तरीकों का परीक्षण करेंगे :
class CalculatorTest {
@Test
public void add() {
Calculator calc = new Calculator();
int result = calc.add(2, 3);
assertEquals(5, result);
}
@Test
public void sub() {
Calculator calc = new Calculator();
int result = calc.sub(10, 10);
assertEquals(0, result);
}
@Test
public void mul() {
Calculator calc = new Calculator();
int result = calc.mul(-5, -3);
assertEquals(15, result);
}
@Test
public void div() {
Calculator calc = new Calculator();
int result = calc.div(2, 3);
assertEquals(0, result);
}
}
यह सामान्य जुनीट परीक्षण जैसा दिखता है। दिलचस्प से: विशेष विधि मुखर () का उपयोग यहां किया जाता है : यह इसके पास किए गए मापदंडों की तुलना करता है, जैसा कि इसके नाम के बराबर शब्द द्वारा इंगित किया गया है।
यदि पैरामीटर AssertEquals () के बराबर नहीं हैं, तो विधि एक अपवाद फेंक देगी और परीक्षण विफल हो जाएगा। यह अपवाद अन्य परीक्षणों को चलने से नहीं रोकेगा।
GO TO FULL VERSION