मुझे संदेह है कि यह वास्तव में आपके प्रश्न का उत्तर देता है, लेकिन मैं परीक्षण को एक ही स्थिति में छोटा कर दूंगा ताकि आपको कुछ कोड को उस प्रतिनिधि में लपेटने की आवश्यकता न हो जिसे आप Assert.DoesNotThrow
पर पास करते हैं। फिर, बिना किसी दावे के परीक्षण लिखें। एक परीक्षण जो अप्रत्याशित अपवाद फेंकता है असफल हो जाएगा, इसलिए यह वही करेगा जो आप चाहते हैं, और आपको पूरा अपवाद मिलेगा।
मेरे परीक्षणों में से लगभग 10% इस तरह काम करते हैं; बिलकुल भी कोई दावा नहीं, और ThisOrThatShouldNeverThrow()
जैसे विधि नाम।
डीबगिंग करते समय एक और विकल्प, डीबगर (टीडी.Net का उपयोग करके) और डीबग में परीक्षण चलाने के लिए है। अपवाद कुछ अतिरिक्त बॉक्स की जांच करें ताकि अपवाद फेंकने पर डीबगर बंद हो जाए।
बस जानकारी के लिए: Resharper इकाई परीक्षण और विजुअल स्टूडियो यूनिट परीक्षण (VSTest और NUNIT3 एडाप्टर का उपयोग करके) दोनों DoNotThrow के लिए पूर्ण स्टैक ट्रेस दिखाते हैं। –