जावा में परीक्षण: मुख्य फ्रेमवर्क और उपकरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावा में परीक्षण: प्रमुख फ्रेमवर्क और उपकरणों का अवलोकन



परीक्षण जावा में पेशेवर डेवलपमेंट का एक अनिवार्य हिस्सा है। गुणवत्तापूर्ण परीक्षणों के बिना कोड की स्थिरता, उसकी सुरक्षा और आवश्यकताओं के अनुपालन की गारंटी देना असंभव है। इस लेख में, हम जावा एप्लिकेशन के परीक्षण के लिए मुख्य उपकरणों और फ्रेमवर्क की विस्तार से समीक्षा करेंगे, जो आपको विश्वसनीय और रखरखाव योग्य कोड लिखने में मदद करेंगे।



1. JUnit 5 — यूनिट परीक्षण की नींव



JUnit 5 (Jupiter) जावा में मॉड्यूलर परीक्षण के लिए डी-फैक्टो मानक है। यह परीक्षणों को व्यवस्थित करने के लिए एनोटेशन, एसर्ट और तंत्र प्रदान करता है।



प्रमुख क्षमताएँ:

  • परीक्षण जीवनचक्र प्रबंधन के लिए एनोटेशन @Test, @BeforeEach, @AfterAll
  • @ParameterizedTest के साथ पैरामीटरीकृत परीक्षण
  • तार्किक समूहीकरण के लिए नेस्टेड परीक्षण (@Nested)
  • @ExtendWith के माध्यम से एक्सटेंशन


JUnit 5 पर एक सरल परीक्षण का उदाहरण:



import org.junit.jupiter.api.Test;import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {

@Test void testAddition() { Calculator calc = new Calculator(); int result = calc.add(2, 3); assertEquals(5, result, "2 + 3 को 5 के बराबर होना चाहिए"); }

@Test void testDivisionByZero() { Calculator calc = new Calculator(); assertThrows(ArithmeticException.class, () -> calc.divide(10, 0)); }}


2. Mockito — स्टब और मॉक का निर्माण



Mockito जावा में मॉक ऑब्जेक्ट बनाने के लिए सबसे लोकप्रिय फ्रेमवर्क है। यह परीक्षण किए जा रहे क्लास को उसकी निर्भरताओं से अलग करने की अनुमति देता है।



Mockito की मुख्य क्षमताएँ:

  • Mockito.mock() के माध्यम से मॉक बनाना
  • when()...thenReturn() का उपयोग करके व्यवहार सेट करना
  • मेथड कॉल का सत्यापन (verify())
  • ArgumentCaptor के माध्यम से आर्गुमेंट कैप्चर करना


import static org.mockito.Mockito.*;import org.junit.jupiter.api.Test;

class UserServiceTest {

@Test void testGetUser() { // रिपॉजिटरी के लिए मॉक बनाएँ UserRepository mockRepo = mock(UserRepository.class); when(mockRepo.findById(1L)).thenReturn(new User("Alice"));

// सर्विस में मॉक इंजेक्ट करें UserService service = new UserService(mockRepo);

// परीक्षण निष्पादित करें User user = service.getUser(1L); assertEquals("Alice", user.getName());

// जाँचें कि मेथड को कॉल किया गया था verify(mockRepo).findById(1L); }}


3. TestNG — विस्तारित क्षमताओं के साथ JUnit का विकल्प



TestNG एक शक्तिशाली फ्रेमवर्क है, जो JUnit और NUnit से प्रेरित है। यह अतिरिक्त सुविधाएँ प्रदान करता है: परीक्षण निर्भरताएँ, समानांतर निष्पादन, परीक्षण समूह।



TestNG की विशिष्ट विशेषताएँ:

  • एनोटेशन @Test, @BeforeSuite, @AfterClass
  • groups विशेषता के माध्यम से परीक्षण समूहीकरण
  • XML कॉन्फ़िगरेशन के माध्यम से पैरामीटरीकरण
  • परीक्षणों के बीच निर्भरताएँ (dependsOnMethods)


import org.testng.annotations.Test;import static org.testng.Assert.*;

public class MathTest {

@Test(groups = {"smoke", "math"}) public void testSum() { assertEquals(5, Math.addExact(2, 3)); }

@Test(dependsOnMethods = {"testSum"}) public void testMultiply() { assertEquals(6, Math.multiplyExact(2, 3)); }}


4. Selenium WebDriver — वेब इंटरफ़ेस का परीक्षण



Selenium वेब एप्लिकेशन के स्वचालित परीक्षण के लिए एक अपरिहार्य उपकरण है। यह सभी प्रमुख ब्राउज़रों का समर्थन करता है और आपको वास्तविक उपयोगकर्ता क्रियाओं का अनुकरण करने की अनुमति देता है।

अनुशंसाएँ