के साथ यूनिट टेस्ट मैंने C#
में प्रोग्राम लिखा था जो कमांड लाइन से MSTest
को आमंत्रित करता है। परीक्षण मामलों में से एक StackOverflowException
फेंकता है और इसका कारण यह है कि QtAgent32
(और मेरा आवेदन) प्रक्रिया टूट जाती है। इस स्थिति से बचने के लिए मैं क्या कर सकता हूं (मैं इकाई परीक्षण नहीं बदल सकता)?एमएसटीएस्ट - स्टैक ओवरव्लो एक्सेप्शन
उत्तर
एक तरीका है जिसके द्वारा आप दुर्घटनाओं इस तरह से बच सकते हैं (QTAgent32.exe.config में legacyUnhandledExceptionPolicy संपत्ति की स्थापना और/या QTAgent.exe.config कर रहा है मशीन/testrun के सीधा के आधार पर) जैसा कि here बताया गया है। इस लिंक से प्रासंगिक पाठ है: -
अस्थायी संगतता माप के रूप में, व्यवस्थापक अनुप्रयोग कॉन्फ़िगरेशन फ़ाइल के अनुभाग में एक संगतता ध्वज रख सकते हैं। यह सामान्य भाषा रनटाइम को संस्करण 1.0 और 1.1 के व्यवहार में वापस करने का कारण बनता है।
यह "बिना क्रिया का अपवाद" व्यवहार से निपटने 1.1 शुद्ध करने के लिए स्विच जाएगा और इस प्रक्रिया ऐसे अपवादों पर क्रैश नहीं करेंगे।
आपके उत्तर के लिए धन्यवाद। मैं बहुत उपयोगी था। – mirt
समस्या यह है कि आप .NET पर 2.StackOverflowException
(2.0 संस्करण से शुरू) पर नहीं पकड़ सकते हैं। इसका शायद मतलब है कि आपके पास समस्या का समाधान करने का कोई तरीका नहीं है - क्योंकि यूनिट परीक्षण ढांचा बस अपवाद नहीं पकड़ सकता है।
- C# catch a stack overflow exception:
निम्न संबंधित अतः प्रश्न देखें।
अन्य धागे पर कुछ रोचक सुझाव हैं - उदाहरण के लिए, आप Thread
बना सकते हैं और वर्तमान FrameCount
जाँच ढेर अतिप्रवाह पहले पता लगाने के लिए कर सकते हैं। हालांकि, शायद यह बहुत विश्वसनीय नहीं होगा। तो, मुझे डर है कि कोई अच्छा जवाब है हूँ ...
ठीक है, लेकिन जब मैं कमांड लाइन से एमएसटीएस्ट का आह्वान करता हूं (सी # कोड से नहीं), जब यह यूनिट परीक्षण निष्पादित होता है तो मैं केवल त्रुटि संदेश बॉक्स पर रद्द कर सकता हूं और एमएसटीएस्ट चलाना जारी रखता है। मुझे नहीं पता कि इस तरह कुछ कैसे करें लेकिन सी # कोड – mirt
@ मिर्ट में - क्या आप उस अतिरिक्त जानकारी को मूल प्रश्न में जोड़ सकते हैं? वे अच्छे विवरण हैं। –
- 1. कार्य-चारों ओर एक स्टैक ओवरव्लो एक्सेप्शन
- 2. एमएसटीएस्ट अपेक्षित एक्सेप्शन
- 3. स्टैक ओवरव्लो एपीआई
- 4. जावा स्टैक ओवरव्लो एररलिस्ट को हैश मैप
- 5. रिकर्सिव फ़ंक्शंस में स्टैक ओवरव्लो को रोकना
- 6. स्टैक ओवरव्लो-जैसे संपादन टूल का उपयोग करके होस्टेड विकी?
- 7. एएसपी.नेट एमवीसी उपयोगकर्ता रूटिंग जैसे स्टैक ओवरव्लो में?
- 8. एमएसटीएस्ट
- 9. एमएसटीएस्ट
- 10. एमएसटीएस्ट
- 11. एमएसटीएस्ट
- 12. एमएसटीएस्ट
- 13. एमएसटीएस्ट
- 14. एमएसटीएस्ट
- 15. क्या एमएसटीएस्ट
- 16. ExpectedExceptionAttribute एमएसटीएस्ट
- 17. अमान्य पैरामीटर एक्सेप्शन या अवैध अर्ग्यूमेंट एक्सेप्शन
- 18. स्टैक ओवरव्लो की तरह बैज सिस्टम को कैसे कार्यान्वित किया जाएगा?
- 19. मैं रेल का उपयोग कर स्टैक ओवरव्लो के समान "प्रतिष्ठा" प्रणाली कैसे बना सकता हूं?
- 20. स्टैक ओवरव्लो कैसे जानता है जब किसी प्रश्न के नए उत्तर होते हैं?
- 21. .NET में PodPress को कार्यान्वित करने के लिए कैसे करें (बस स्टैक ओवरव्लो ब्लॉग की तरह)
- 22. मैं स्टैक ओवरव्लो जैसे समृद्ध टेक्स्ट इनपुट बॉक्स फ़ील्ड कैसे बना सकता हूं?
- 23. अमान्यऑपरेशन एक्सेप्शन
- 24. एकाधिकबैगफ़ेच एक्सेप्शन
- 25. एमएसटीएस्ट टेस्टमेडेंस निर्भरता इंजेक्शन
- 26. एमएसटीएस्ट एक्सएमएल डेटासोर्स
- 27. एमएसटीएस्ट यूनिट परीक्षण
- 28. एमएसटीएस्ट और एनएचबीर्नेट
- 29. एमएसटीएस्ट कोड कवरेज
- 30. एमएसटीएस्ट क्लास पूरी कक्षा
क्या आप अपना सी # कोड साझा कर सकते हैं? आदर्श रूप से एक ही संवाद बॉक्स सी # कोड से भी दिखाना चाहिए और यह सोच रहा हूं कि प्रक्रिया प्रारंभ इन्फॉर्म पैरामीटर के साथ इसका कोई संबंध है या नहीं? –