दिलचस्प पोस्ट
ऑडियो इनपुट के रूप में आईफोन माइक्रोफोन को मजबूर कर रहा है स्टैक अनलाइनिंग क्या है? mysql, ifnull vs सांता, जो तेजी से है? स्थैतिक बनाम तत्काल कक्षाओं का उपयोग कब करना सी # में बयान का उपयोग कर नेस्टेड मॉडल बनाया जा रहा है, जबकि प्रसंग का उपयोग नहीं किया जा सकता एंड्रॉइड क्रैश लॉग कैसे प्राप्त करें? OpenCart से index.php = मार्ग = सामान्य / घर निकालें निर्दिष्ट स्थिति पर तत्व प्राप्त करें – जावास्क्रिप्ट वर्ग, संदर्भ और वस्तुओं क्या हैं? मैं कैसे जांच सकता हूं कि पृष्ठभूमि छवि भरी हुई है या नहीं? कीवर्ड वास्तव में VBA में क्या करता है? दिशा बदलने के लिए MATLAB में एक छवि के कुल्हाड़ियों को कैसे संपादित कर सकता हूं? Laravel के ब्लेड: मैं एक टेम्पलेट में कैसे चर सेट कर सकते हैं? क्या x86 के MOV वास्तव में "मुफ़्त" हो सकता है? मैं इस सब पर पुन: उत्पन्न क्यों नहीं कर सकता हूं?

कैसे जूनिट परीक्षण उपकरण के साथ शून्य विधि का परीक्षण करने के लिए?

मैं सिर्फ एक विधि void followlink(obj page,obj link) को लागू करने के लिए होता है जो केवल पेज और कतार में लिंक जोड़ता है मैंने इस तरह की विधि का परीक्षण करने में असफल प्रयास किए हैं I

मैं चाहता हूं कि सभी परीक्षण करना है कि कतार में पृष्ठ और पश्च लिंक विधि से प्राप्त लिंक शामिल है। मेरी परीक्षा कक्षा पहले से ही TestCase विस्तार करती है तो ऐसी विधि का परीक्षण करने का सबसे अच्छा तरीका क्या है?

Solutions Collecting From Web of "कैसे जूनिट परीक्षण उपकरण के साथ शून्य विधि का परीक्षण करने के लिए?"

JUnit एफएक्यू के परीक्षण के तरीकों पर एक खंड है जो void वापस आते हैं। आपके मामले में, आप नामित विधि के एक साइड इफेक्ट का परीक्षण करना चाहते हैं।

अकसर किये गए सवाल के परीक्षण में दिए गए उदाहरण में एक आइटम के बाद Collection के आकार को जोड़ दिया जाता है।

 @Test public void testCollectionAdd() { Collection collection = new ArrayList(); assertEquals(0, collection.size()); collection.add("itemA"); assertEquals(1, collection.size()); collection.add("itemB"); assertEquals(2, collection.size()); } 

यदि आप अपनी पद्धति को कॉल करने से पहले और बाद में कतार के आकार का परीक्षण कर सकते हैं, तो ऐसा कुछ:

 int size = queue.length(); followLink(page, link); assertEquals(size+1, queue.length()); // or maybe size+2? 

एक और चीज जो आप कर सकते हैं वह एक खाली कतार से शुरू होती है, फॉलो करें लिंक करें, फिर पहले आइटम को हटाना और उसके मूल्यों का परीक्षण करना।

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

वह स्वयं " queue.length () " साइड इफेक्ट टेस्ट काम की सुविधा देता है।

लेकिन मैं आगे जाता हूं: वास्तव में, आपको यह जांचने पर विचार करना चाहिए कि आपकी पद्धति ने सही पृष्ठ और आपकी कतार में लिंक डाला है। इसके लिए ब्योरे के बारे में अधिक जानकारी की आवश्यकता है कि आप कैसे (और संयोजन) पेज और लिंक का प्रतिनिधित्व कर रहे हैं

जेएमकॉन्क समाधान भी बहुत अच्छा है, हालांकि वास्तव में मैं अपने परीक्षण परीक्षणों को लिखने से ज्यादा परिचित हूं।

तो – विधि की कॉल के बाद की कतार के बाद जांचें, यदि विधि के पास किए गए मान कतार में जोड़े जाते हैं। इसके लिए आपको कतार तक पहुंच की आवश्यकता है (जैसे कुछ मिलते हैं)

जेएमॉक पुस्तकालय का प्रयोग करें और अपनी कतार रखे हुए स्टोरेज का नकली करें, जेएमॉक यह दावा करने की अनुमति देता है कि क्या मॉक की गई विधि को बुलाया गया था और किस पैरामीटर के साथ।

हमारे पास निम्नलिखित की जांच करने के दो तरीके हैं:

  1. नीचे दिए गए कार्यक्रम के अनुसार क्यू / संग्रह के आकार का उपयोग करके सत्यापित करें: (जैसा कि पैट्रिक द्वारा बताया गया है)

     @Test public void testfollowlinkAdd() { int size = queue.length(); queue.add(pageLink); //Considering an Object of PageLink Assert.assertTrue(size+1, queue.length()); } 

या

  1. MockObjects का उपयोग करें मॉकिटो जैसी फ़्रेमवर्क यहां उपयोगी हो सकते हैं।