"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > JUnit 5 के साथ उन्नत परीक्षण

JUnit 5 के साथ उन्नत परीक्षण

2024-08-07 को प्रकाशित
ब्राउज़ करें:729

Advanced Testing with JUnit 5

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

जुनीट 5 क्या है?

JUnit 5, JUnit फ्रेमवर्क का एक प्रमुख अद्यतन है, जिसे अधिक लचीला और मॉड्यूलर बनाया गया है। इसमें तीन मुख्य घटक होते हैं:

  1. जुनिट प्लेटफार्म: जेवीएम पर परीक्षण ढांचे लॉन्च करने की नींव।
  2. जूनिट ज्यूपिटर: परीक्षण लिखने के लिए नया प्रोग्रामिंग मॉडल और एक्सटेंशन मॉडल।
  3. JUnit विंटेज: JUnit 5 प्लेटफॉर्म पर JUnit 3 और JUnit 4 परीक्षण चलाने के लिए समर्थन प्रदान करता है।

जुनिट 5 की मुख्य विशेषताएं

  1. प्रदर्शन नाम: बेहतर पठनीयता के लिए कस्टम प्रदर्शन नामों के साथ परीक्षणों को एनोटेट करें।
  2. नेस्टेड परीक्षण: परीक्षण किए गए कोड की संरचना को प्रतिबिंबित करने के लिए परीक्षणों को क्रमबद्ध रूप से व्यवस्थित करें।
  3. गतिशील परीक्षण: रनटाइम पर गतिशील रूप से परीक्षण बनाएं।
  4. टैगिंग और फ़िल्टरिंग: टैग का उपयोग करके समूह परीक्षण करें और निष्पादन के दौरान उन्हें फ़िल्टर करें।
  5. दावे और धारणाएं: परीक्षण निष्पादन प्रवाह को नियंत्रित करने के लिए दावों और मान्यताओं के लिए उन्नत समर्थन।

उदाहरण: JUnit 5 की उन्नत सुविधाओं का उपयोग करना

  1. कस्टम प्रदर्शन नाम:
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

@DisplayName("Calculator Tests")
class CalculatorTest {

    @Test
    @DisplayName("Addition Test")
    void testAddition() {
        assertEquals(2, 1   1, "1   1 should equal 2");
    }
}
  1. नेस्टेड परीक्षण:
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

class OuterTest {

    @Nested
    class InnerTest {
        @Test
        void innerTest() {
            // Test logic here
        }
    }
}
  1. गतिशील परीक्षण:
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.TestFactory;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;

class DynamicTestsDemo {

    @TestFactory
    Stream dynamicTests() {
        return Stream.of(1, 2, 3, 4, 5)
                .map(number -> dynamicTest("Test number "   number, () -> assertTrue(number > 0)));
    }
}
  1. टैगिंग और फ़िल्टरिंग:
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

class TaggingTest {

    @Test
    @Tag("fast")
    void fastTest() {
        // Fast test logic here
    }

    @Test
    @Tag("slow")
    void slowTest() {
        // Slow test logic here
    }
}
  1. दावे और धारणाएं:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assumptions.assumeTrue;

class AssertionsDemo {

    @Test
    void testException() {
        assertThrows(IllegalArgumentException.class, () -> {
            throw new IllegalArgumentException("Exception message");
        });
    }

    @Test
    void testAssumption() {
        assumeTrue(5 > 1);
        // Test logic here
    }
}

निष्कर्ष

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

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/adaumircosta/advanced-testing-with-junit-5-1nh?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3