2013-01-31 11 views
5

मैं ग्रहण में कुछ यूनिट परीक्षण लिख रहा हूं जो अपवादों को फेंकने की उम्मीद करते हैं।जुनीट ग्रहण - सफलता पर स्टैक ट्रेस प्रदर्शित करें

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

धन्यवाद!

उत्तर

3

आपको ऐसा करने की आवश्यकता नहीं है।

एक expected तर्क के साथ @Test एनोटेशन का उपयोग करें: परीक्षण नहीं करता

@Test(expected=MyAppException.class) 

तो अपवाद यह एक परीक्षण की विफलता है फेंक देते हैं।

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

+1

@carrizo अगर आप अतिरिक्त रूप से कंसोल आउटपुट पर स्टैकट्रैक देखना चाहते हैं, तो आप इस टेस्ट के कोड को वहां से ट्राइक-कैच और प्रिंट स्टैक ट्रेस के साथ घेर सकते हैं, लेकिन –

+0

अपवाद को अपग्रेड करना न भूलें, मैं यही कर रहा हूं लेकिन मैं था प्रत्येक परीक्षण के लिए प्रयास करने के बिना इसे करने का विकल्प ढूंढना। वैसे भी धन्यवाद! :) – carrizo

+0

@carrizo लेकिन लक्ष्य क्या है? क्या आपको विश्वास नहीं है कि जुनीट काम करता है? –

1

परीक्षण के कैच ब्लॉक के अंदर System.out.print() कथन क्यों न डालें? मुझे यकीन नहीं है कि आप परीक्षण से आउटपुट कैसे प्रदर्शित करना चाहते हैं क्योंकि वे आम तौर पर चुप रहने के लिए बने होते हैं क्योंकि उनमें से बहुत से होते हैं।

क्या आपने log4j और log.debug() का उपयोग करने के बारे में सोचा है?

+0

दरअसल मैं इसे बाद में जुनीट एनोटेशन या कुछ सक्षम करने के लिए प्रयास करूंगा, यह अपवाद पकड़ने, लॉग इन करने और आपके द्वारा लिखे गए प्रत्येक परीक्षण के लिए इसे फिर से फेंकने का दर्द है:/ – carrizo

+0

हम उसी समस्या में भाग गए कई साल पहले एक प्रणाली में अपवाद हैंडलिंग। हमने कभी भी एक अच्छा समाधान नहीं पाया लेकिन मुझे याद है कि जुनीट के बाद के संस्करणों को इसके लिए समर्थन प्रदान करना याद है। मुझे जुनीट दस्तावेज़ों को देखना होगा। –

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