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

JUnit 5 आपको @Nested एनोटेशन का उपयोग करके नेस्टेड परीक्षण बनाने की अनुमति देता है। इस लेख में, आप जानेंगे कि @Nested एनोटेशन क्या है और इसका उपयोग कैसे करें।

नेस्टेड टेस्ट क्या है?

JUnit का @Nested एनोटेशन संकेत देता है कि यह जिस वर्ग से जुड़ा है वह एक आंतरिक वर्ग है, जो किसी अन्य वर्ग का सदस्य है। एक नेस्टेड टेस्ट एक टेस्ट क्लास है जिसमें @Nested एनोटेशन होता है, क्योंकि इसका मतलब है कि एक शीर्ष-स्तरीय टेस्ट क्लास के भीतर एक (या अधिक) इनर क्लास है। एक नेस्टेड क्लास एक शीर्ष-स्तरीय क्लास के भीतर या नेस्टेड क्लास के भीतर भी दिखाई दे सकती है।

परीक्षण के लिए जावा क्लासेस बनाना

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

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

जनताकक्षाग्राहक{
संरक्षितint यहाँ ग्राहक आईडी;
संरक्षित स्ट्रिंग ग्राहक का नाम;
संरक्षित स्ट्रिंग ग्राहक कोड;

// डिफ़ॉल्ट कंस्ट्रक्टर
जनताग्राहक(){
यहग्राहक आईडी = 0;
यहग्राहक नाम = "";
यहग्राहक कोड = "";
}

// प्राथमिक कंस्ट्रक्टर
जनताग्राहक(int यहाँ ग्राहक आईडी, स्ट्रिंग ग्राहक नाम, स्ट्रिंग ग्राहक कोड){
यहग्राहक आईडी = ग्राहक आईडी;
यहग्राहक नाम = ग्राहक नाम;
यहग्राहक कोड = ग्राहक कोड;
}

// कॉपी कंस्ट्रक्टर
जनताग्राहक(ग्राहक ग्राहक){
यहग्राहक आईडी = ग्राहक ग्राहक आईडी;
यहग्राहक नाम = ग्राहक ग्राहक नाम;
यहग्राहक कोड = ग्राहक ग्राहक कोड;
}

// गेटर्स और सेटर्स
जनताint यहाँgetCustomerId(){
वापस करना ग्राहक आईडी;
}

जनताखालीपनsetCustomerId(int यहाँ ग्राहक आईडी){
यहग्राहक आईडी = ग्राहक आईडी;
}

जनता डोरी getCustomerName(){
वापस करना ग्राहक का नाम;
}

जनताखालीपनसेट ग्राहक नाम(स्ट्रिंग ग्राहक नाम){
यहग्राहक नाम = ग्राहक नाम;
}

जनता डोरी getCustomerCode(){
वापस करना ग्राहक कोड;
}

जनताखालीपनसेट ग्राहक कोड(स्ट्रिंग ग्राहक कोड){
यहग्राहक कोड = ग्राहक कोड;
}

// ग्राहक प्रकार के आधार पर ग्राहक छूट प्रतिशत निर्धारित करें
जनतादोहराग्राहक प्रकार(स्ट्रिंग ग्राहक कोड){
दोहरा छूट = 0;

अगर (customerCode.toLowerCase().equals("pre")) {
छूट = 0.10;
} अन्यअगर (customerCode.toLowerCase().equals("gen")) {
छूट = 0.02;
} अन्यअगर (customerCode.toLowerCase().equals("नया")) {
छूट = 0.05;
}

वापस करना छूट;
}

// ग्राहक प्रकार के आधार पर ग्राहक का ग्रैंडटोटल निर्धारित करें
जनतादोहराकुल योग(दोहरा कुल){
दोहरा छूट = ग्राहक प्रकार (ग्राहक कोड);
दोहरा छूट प्रतिशत = कुल * छूट;
दोहरा finalTotal = कुल - छूट प्रतिशत;
वापस करना अंतिम कुल;
}
}

इस ग्राहक वर्ग में जावा क्लास के सभी घटक होते हैं, जो दो विधियों से पूर्ण होते हैं।

JUnit 5 के साथ नेस्टेड टेस्ट बनाना

ग्राहक वर्ग में कई कंस्ट्रक्टर, गेटर्स और सेटर्स और दो तरीके हैं। आप एक नेस्टेड क्लास (ग्राहक परीक्षण वर्ग के भीतर) बना सकते हैं जो एक नया ग्राहक ऑब्जेक्ट बनाता है और उसके सभी घटकों का परीक्षण करता है।

आयातस्थिरसंगठनजूनिट.बृहस्पति.apiदावा.*;

आयातसंगठनजूनिट.बृहस्पति.api।प्रदर्शित होने वाला नाम;
आयातसंगठनजूनिट.बृहस्पति.apiनेस्टेड;
आयातसंगठनजूनिट.बृहस्पति.api।परीक्षा;

@DisplayName("कैसे करें को दर्शाने वाली ग्राहक परीक्षण कक्षा बनाएंनेस्टेड टेस्ट।")
कक्षाग्राहक परीक्षण{
संरक्षितint यहाँ ग्राहक आईडी = 301;
संरक्षित स्ट्रिंग ग्राहकनाम = "माइक विल्सन";
संरक्षित स्ट्रिंग ग्राहक कोड = "पूर्व";
संरक्षितदोहरा कुल = 600;

@नेस्टेड
@प्रदर्शित होने वाला नाम("ग्राहक बिल्डर नेस्टेड टेस्ट क्लास एक टॉप-लेवल टेस्ट क्लास के भीतर")
कक्षाग्राहकबिल्डर टेस्ट{
ग्राहक ग्राहक = नया ग्राहक (ग्राहक आईडी, ग्राहक नाम, ग्राहक कोड);
दोहरा ग्रैंडटोटल = ग्राहक। ग्रैंडटोटल (कुल);

@परीक्षा
@प्रदर्शित होने वाला नाम("ग्राहक का परीक्षण'क्लास कंस्ट्रक्टर्स, गेटर्स एंड सेटर्स और मेथड्स।")
खालीपनcustomerbuilder(){
मुखर (() -> {
astraEquals(ग्राहक आईडी, ग्राहक.getCustomerId());
astraEquals(ग्राहक का नाम, ग्राहक.getCustomerName());
astraEquals(ग्राहक कोड, ग्राहक.getCustomerCode());
astraEquals(0.10, ग्राहक।ग्राहक प्रकार(ग्राहक कोड));
मुखर (540, ग्रैंडटोटल);
});
}
}
}

CustomerTest क्लास एक नेस्टेड CustomerBuilderTest क्लास की टॉप-लेवल टेस्ट क्लास है। CustomerBuilderTest एक नया ग्राहक ऑब्जेक्ट बनाता है और इसके घटकों का परीक्षण करता है अभिकथन परीक्षण.

CustomerTest परीक्षण वर्ग को निष्पादित करने से निम्नलिखित सफल परीक्षण परिणाम प्राप्त होते हैं:

परीक्षण कक्षाओं के नाम और परीक्षण विधि वर्णनात्मक और व्यापक हैं, इसके लिए धन्यवाद @DisplayName एनोटेशन.

सॉफ़्टवेयर का परीक्षण कैसे करना है, यह जानना महत्वपूर्ण है

अधिकांश लोगों के लिए प्रौद्योगिकी रोजमर्रा की जिंदगी का एक महत्वपूर्ण पहलू है। सॉफ़्टवेयर बनाने के लिए दांव जो वास्तव में वही करता है जो इसे करना चाहिए था कभी अधिक नहीं रहा।

एक सेल्फ-ड्राइविंग कार जो किसी अन्य वस्तु से अपनी निकटता का गलत अनुमान लगाती है, एक बड़ी दुर्घटना का कारण बन सकती है। इसलिए, आपको इसके विकास के हर चरण में अपने आवेदन का परीक्षण करने की आवश्यकता है।