"बिना टेस्ट के कोड लीगेसी है": आज ही क्यों शुरू करें
\n\nसोचिए: आपने Java में एक एप्लिकेशन लिखा है। वह काम करता है। लेकिन आप कुछ बदलने से डरते हैं, क्योंकि एक गलत कदम और सब कुछ चरमरा जाएगा। परिचित लग रहा है? स्वागत है उस दुनिया में जहाँ Java टेस्टिंग कोई शौक नहीं, बल्कि जीवित रहने का कौशल है।
\n\nकई नए डेवलपर टेस्ट को "बाद में" टाल देते हैं। जैसे, पहले कोड लिखना सीख लूँ, फिर टेस्ट देखूँगा। लेकिन सच्चाई यह है कि Java यूनिट टेस्ट कोई अतिरिक्त बोझ नहीं, बल्कि आपकी सुरक्षा रस्सी हैं। वे आपको बेहतर, मॉड्यूलर और समझने योग्य कोड लिखने पर मजबूर करते हैं। और हाँ, नियोक्ता उन डेवलपर्स को बहुत महत्व देते हैं जो कोड को टेस्ट से कवर करना जानते हैं।
\n\nइस लेख में हम जानेंगे कि Java टेस्टिंग कहाँ से शुरू करें। आप मुख्य टूल्स — JUnit और Mockito — के बारे में जानेंगे, अपने पहले टेस्ट लिखेंगे और समझेंगे कि "टेस्टिंग सिर्फ टेस्टिंग के लिए" करने से कैसे बचें। चलिए शुरू करते हैं!
\n\nचरण 1: एनवायरनमेंट सेटअप — आपका पहला टेस्ट स्टैंड
\n\nटेस्ट लिखने से पहले, वातावरण तैयार करना होगा। अच्छी खबर: Java ऑटोमेशन टेस्टिंग के लिए आपको किसी अलौकिक चीज़ की ज़रूरत नहीं। आपके पास जो पहले से है — JDK और IDE (IntelliJ IDEA या Eclipse) — वही काफी है।
\n\nMaven या Gradle — बिल्ड सिस्टम चुनें
\n\nआधुनिक Java प्रोजेक्ट शायद ही बिल्ड सिस्टम के बिना चलते हैं। हम Maven का उपयोग करेंगे — यह अधिकांश प्रोजेक्ट्स के लिए डी-फैक्टो स्टैंडर्ड है। टेस्टिंग के लिए न्यूनतम pom.xml इस प्रकार है:
<dependencies>\n <!-- JUnit 5 — टेस्ट के लिए मुख्य फ्रेमवर्क -->\n <dependency>\n <groupId>org.junit.jupiter</groupId>\n <artifactId>junit-jupiter-api</artifactId>\n <version>5.10.0</version>\n <scope>test</scope>\n </dependency>\n \n <!-- mock-ऑब्जेक्ट बनाने के लिए Mockito -->\n <dependency>\n <groupId>org.mockito</groupId>\n <artifactId>mockito-core</artifactId>\n <version>5.6.0</version>\n <scope>test</scope>\n </dependency>\n</dependencies>\n\nध्यान दें <scope>test</scope> पर — ये लाइब्रेरीज़ फाइनल बिल्ड में शामिल नहीं होंगी, ये सिर्फ टेस्ट चलाने के लिए हैं।
चरण 2: JUnit — आपका पहला असली टेस्ट
\n\nJUnit वह नींव है जिस पर पूरी Java टेस्टिंग टिकी है। इसकी मदद से आप यूनिट टेस्ट लिखते हैं: एक मेथड या क्लास को अलग-थलग करके जाँचते हैं।
\n\nपहला टेस्ट लिखें
\n\nमान लीजिए हमारे पास एक सरल कैलकुलेटर है:
\n\npublic class Calculator {\n public int add(int a, int b) {\n return a + b;\n }\n \n public int divide(int a, int b) {\n if (b == 0) {\n throw new IllegalArgumentException("शून्य से भाग नहीं दे सकते!");\n }\n return a / b;\n }\n}\n\nअब इसके लिए टेस्ट लिखते हैं। src/test/java फोल्डर में एक क्लास बनाएँ:
import org.junit.jupiter.api.Test;\nimport static org.junit.jupiter.api.Assertions.*;\n\nclass CalculatorTest {\n \n private final Calculator calculator = new Calculator();\n \n @Test\n void testAdd() {\n // Arrange (तैयारी)\n int a = 2;\n int b = 3;\n \n // Act (क्रिया)\n int result = calculator.add(a, b);\n \n // Assert (जाँच)\n assertEquals(5, result, "2 + 3 का मान 5 होना चाहिए");\n }\n \n @Test\n void testDivideByZero() {\n // जाँचें कि मेथड एक्सेप्शन फेंकता है\n assertThrows(IllegalArgumentException.class, \n () -> calculator.divide(10, 0));\n }\n}\n\nटेस्ट चलाएँ — IDE में हरी पट्टी बताएगी कि सब कुछ सही है। बधाई हो, आपने अभी unit testing Java में पहला कदम रखा है!