JUnit फ्रेमवर्क कनेक्ट करत आहे
जावा कोडच्या चाचणीसाठी, आमच्याकडे JUnit नावाची एक उत्तम फ्रेमवर्क आहे . हे उत्तम काम करते, ते सतत अपडेट केले जाते, ते खूप लोकप्रिय आहे आणि अर्थातच Intellij IDEA त्याच्याशी अतिशय घट्टपणे समाकलित आहे.
आता प्रत्येकजण या फ्रेमवर्कची पाचवी आवृत्ती वापरत आहे - JUnit 5 , जरी बर्याच प्रकल्पांमध्ये आपण अद्याप त्याची चौथी आवृत्ती शोधू शकता. ते फारसे वेगळे नाहीत, परंतु तरीही आम्ही नवीनतम एक कटाक्ष टाकू. मला वाटते की तुम्ही सक्रियपणे चाचण्या लिहिण्यास सुरुवात कराल तेव्हा तुम्ही माझ्या निवडीला मान्यता द्याल.
तर, प्रकल्पात JUnit कसे जोडायचे? मावेन शिकल्यानंतर हे सोपे होईल: फक्त हा कोड तुमच्या pom.xml मध्ये जोडा:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
तसे, जर तुम्हाला Maven ने तुमच्या चाचण्या बिल्ड स्टेजवर ( चाचणी टप्पा ) चालवायची असतील तर तुम्हाला 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() {
}
}
पद्धतीचे नाव चाचणी या शब्दाने सुरू होण्याची आवश्यकता होती , परंतु आता हे आवश्यक नाही.
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);
}
}
सामान्य JUnit चाचणी असे दिसते. मनोरंजक वरून: assertEquals() ही विशेष पद्धत येथे वापरली आहे : ती त्यास पास केलेल्या पॅरामीटर्सची तुलना करते, जसे की त्याच्या नावातील equals या शब्दाने सूचित केले आहे.
assertEquals() ला पास केलेले पॅरामीटर्स समान नसल्यास, पद्धत अपवाद करेल आणि चाचणी अयशस्वी होईल. हा अपवाद इतर चाचण्या चालवण्यापासून प्रतिबंधित करणार नाही.
GO TO FULL VERSION