2011-04-26 7 views
6

मेरे पास एक तरीका है और इसे विभिन्न मानों के साथ परीक्षण करना चाहते हैं। मेरा सवाल है: मैं एक जुनीट टेस्ट कैसे लिख सकता हूं जो अलग-अलग मानों के साथ एक ही विधि का परीक्षण करेगा?जुनीट - विभिन्न मूल्यों के साथ एक विधि का परीक्षण कैसे करें?

उत्तर

5

JUnit4 इस उद्देश्य के लिए पैरामीटर परीक्षण का समर्थन करता है।

this tutorial देखें।

6

आप example में पैरामीट्रिज्ड परीक्षणों पर एक नज़र डाल सकते हैं।

आप use theories भी कर सकते हैं जो कई मामलों में अधिक सुविधाजनक है।

+3

सिद्धांत कम से कम कार्यान्वयन में पैरामीटर परीक्षणों से बहुत साफ/बेहतर प्रतीत होते हैं। लेकिन यह बहुत बुरा है कि जुनीट में न्यूटिट की '[टेस्टकेस]' एनोटेशन के रूप में कुछ भी साफ नहीं है जो आपको प्रति परीक्षण विधि निर्दिष्ट करने देता है। – Allan

0

मेरा सुझाव है कि आप अपनी (ओवरलोडेड) फ़ंक्शन परिभाषाओं में से प्रत्येक के लिए एक अलग इकाई परीक्षण बनाएं, क्योंकि तर्कसंगत रूप से आप वास्तव में विभिन्न कार्यों का परीक्षण कर रहे हैं। उदाहरण के लिए:

class MainClass { 
public void method(int param) {... } 
public void method(String param) { ...} 
} 

class MainClassTest { 
@Test 
public void methodIntTest() { 
//call method(int) 
} 

@Test 
public void methodStringTest() { 
//call method(String) 
} 
} 
+0

यदि ओपी चाहता है तो अलग-अलग तर्कों के साथ एक ही विधि में दो कॉल नहीं हैं, इस तरह मैंने अपना प्रश्न कैसे पढ़ा। उनका कहना है कि उनके पास "एक विधि" है। उस स्थिति में, निश्चित रूप से, आप अभी भी परीक्षण की जा रही स्थिति के लिए नामित विभिन्न परीक्षण लिख सकते हैं। – CPerkins

+0

ठीक है, तो सवाल की मेरी समझ तब गलत लगती है। इस चैनल पर सभी के लिए माफ़ी, मैंने सोचा कि उनका मतलब है कि उनका कार्य अलग-अलग तर्क स्वीकार करता है (यानी ओवरलोडिंग) - इसलिए उपर्युक्त समाधान। – Liv

+0

कोई माफी नहीं है। मुझे लगता है कि आपका मूल सुझाव अभी भी मान्य है, अलग-अलग मूल्यों के साथ कॉल के एक सेट के लिए अलग-अलग नामों के परीक्षण के लिए एक ही विधि के लिए संबोधित किया गया है। – CPerkins

संबंधित मुद्दे