2012-09-18 9 views
6

हैलो वहाँ मैं अपने 3 वर्गों का परीक्षण करने की कोशिश कर रहा हूं जो अलग-अलग तरीकों से स्ट्रिंग सरणी टाइप करता है!सेटअप, जूनिट परीक्षण को निष्क्रिय करें

मुझे पता है कि एक विधि है जो एक सरणी को intilize और फिर मेरे प्रत्येक परीक्षण में उनका उपयोग करता है।

अब तक यह मेरा कोड है:

public class SortingTest { 

    public insertionSort is = new insertionSort(); 
    public bubbleSort bs = new bubbleSort(); 
    @Test 
    public void testBubbleSort() { 
     String [] sortedArray ={"Chesstitans", "Ludo", "Monkey", "Palle"}; 
     bs.sort(sortedArray); 
     assertArrayEquals(sortedArray, x); 
    } 
    @Test 
    public void testInsertionSort() { 


    } 
    @Test 
    public void testMergeSort() { 


    } 
    @Test 
    public void testSelectionSort() { 


    } 
    @Before 
    protected void setUp() throws Exception{ 
     String[]x ={"Ludo", "Chesstitans", "Palle", "Monkey"}; 
    } 

} 

Eventhough मैं दोनों सेटअप और initilize विधि यह does not एक्स को खोजने के लिए क्या मैं गलत किया है लगता है की कोशिश की?

सादर

मार्क रासमुसेन

उत्तर

8

आप x वर्ग के एक सदस्य चर बनाने की जरूरत है SortingTest

public class SortingTest { 

    private String[] x; 

    @Before 
    public void init() { 
     x = new String {"Ludo", "Chesstitans", "Palle", "Monkey"}; 
    } 
} 
+0

इसलिए मुझे इसे सार्वजनिक चर के रूप में समायोजित करने की आवश्यकता है? क्या विधि के पूरे बिंदु को बर्बाद नहीं करता है? –

+0

अगर मैं ऐसा करता हूं और यह पहली बार एक्स सरणी को टाइप करता है। मेरे सभी अन्य परीक्षण बेकार नहीं होंगे क्योंकि सरणी पहले ही हल हो चुकी है? –

+0

1 आपके कोड को ठीक करें लेकिन अन्यथा यह सही था! : डी एक्स = नया स्ट्रिंग [] {"लुडू", "चेसस्टिटन्स", "पाल", "बंदर"}; –

2

setUp कुछ क्षेत्र को प्रारंभ करना चाहिए सदस्य तो अन्य तरीकों इस तक पहुंच हो । यदि आप स्थानीय चर प्रारंभ करते हैं तो यह सेटअप चर से बाहर निकलने पर खो जाएगा। आप originalArray सॉर्ट और अपने पहले ही sortedArray के खिलाफ परिणाम की तुलना कर सकते

  • originalArray
  • sortedArray

प्रत्येक परीक्षा पद्धति में:

इस मामले में अच्छी बात दो सदस्य होंगे।

+0

बिल्कुल वही है जो मैं चाहता हूं लेकिन क्या मुझे इसे प्रत्येक व्यक्तिगत सॉर्टिंग विधि में करना है? क्या हर बार यह एक नई विधि का उपयोग करने के लिए इसे एकजुट करने का कोई तरीका नहीं है? –

+0

अगर मुझे बुरा याद नहीं है, तो यह वही तरीका है। सेटअप को प्रत्येक विधि निष्पादन से पहले बुलाया जाता है (यहां तक ​​कि मुझे यकीन नहीं है कि परीक्षण ऑब्जेक्ट प्रत्येक टेस्ट विधि के साथ फिर से बनाया गया है)। तो उन्हें सेटअप में प्रारंभ करें और उन्हें स्वतंत्र रूप से उपयोग करें। – helios

+0

वास्तव में @munyengm सही है, आप सेटअप विधि की आवश्यकता के बिना सीधे सदस्य घोषणा पर मान असाइन कर सकते हैं। – helios

0

आपको कक्षा के सदस्य x बनाने की आवश्यकता है, ताकि यह सभी विधियों में दिखाई दे।

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