2012-08-27 9 views
5

मैं एक अपवाद अपवाद का पता लगाने के लिए एक इकाई परीक्षण लिखना चाहता हूं। ExpectedExceptionAttribute का उपयोग करके, मैं अंदरूनी एमएसवीएस से परीक्षण चलाता हूं और जब TestMethod अपवाद को हिट करता है, तो डीबगर अपवाद पर टूट जाता है लेकिन TestMethod सही ढंग से समाप्त हो जाता है और रिपोर्ट की जाती है।वीएस सी # यूनिट परीक्षण को अपवादों पर तोड़ने से रोकें

क्या यूनिट परीक्षण के दौरान वीएस को तोड़ने के लिए कोई ध्वज नहीं है?

उत्तर

11

डीबग सत्र में परीक्षण न चलाएं। आपके पास 'रन रन' या 'डीबग चयन' का विकल्प है, पहले चुनें और आपको ठीक होना चाहिए।

+0

@Jake उपयोग इस परिदृश्य में ctrl + F5, जो चयन (गैर डीबग) – ChrisBint

+0

चलाने के समान है हां, मुझे एहसास हुआ कि मेरा CTRL काम नहीं कर रहा था! तो मैंने अपनी पिछली टिप्पणी हटा दी। अपना जवाब पढ़ने के बाद, मुझे "टेस्ट" मेनू मिला, इसलिए मैंने सोचा कि मुझे वहां से भागना है। धन्यवाद। – Jake

4

यदि आप CTRL + ALT + E दबाते हैं तो आप कॉन्फ़िगर कर सकते हैं कि विभिन्न प्रकार के अपवाद फेंक दिए जाने पर/या प्रबंधित नहीं होने पर डीबगर टूट जाएगा या नहीं।

मुझे इन सेटिंग्स का उपयोग कई बार बहुत आसान होने के लिए मिला है।

+0

उस संवाद पर बहुत सारे विकल्प (चेकबॉक्स) हैं (डीबग: अपवाद)। मैंने पाया है कि मुझे केवल सामान्य भाषा रनटाइम अपवाद (रेखा) फेंक दिया गया (कॉलम) बॉक्स अनचेक करने की आवश्यकता है। मैं मानता हूं कि एक और विकल्प डीबगर के बिना चलाने के लिए है, लेकिन कभी-कभी आप किसी कारण से डीबगर के साथ भागना चाहते हैं। इसलिए, यह एक अच्छा विकल्प है जब आपको डीबगर का उपयोग करने की आवश्यकता होती है और पहले अवसर अपवादों को तोड़ना नहीं चाहते हैं। – steve

1

एमएस यूनिट विशिष्ट [ExpectedException], यदि आप अपने इकाई परीक्षण डिबग करने के लिए की जरूरत है, आप स्पष्ट रूप से, इस तरह के रूप में यहाँ किया कोशिश कर सकते हैं/अपवाद को पकड़ने और जोर अपवाद के प्रकार के लिए एक विकल्प के रूप में: How do I use Assert to verify that an exception has been thrown?

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