2012-05-08 6 views
8

मैं सेटअप विधि कहने के बाद परीक्षण में डीबग करने की कोशिश कर रहा हूं और परीक्षण सेटअप विधि पर निर्भर करता है।नूनिट विजुअल स्टूडियो डीबग मोड में सेटअप विधि नहीं चला रहा

मैं ननेट 4.0.0.12051 का उपयोग कर रहा हूं .NET 4.0 क्लास लाइब्रेरी का परीक्षण कर रहा हूं। नूनिट विजुअल स्टूडियो प्रोजेक्ट में एक वर्ग है [SetUpFixture] और [SetUp] के साथ चिह्नित एक विधि।

यदि मैं न्यूटिट गुई से परीक्षण चलाता हूं, तो मुझे लगता है कि सेटअप attrib'd वर्ग को कॉल किया जाता है (क्योंकि यह अब रन-टाइम त्रुटि के साथ सेटअप क्लास पर नहीं रोका गया है) लेकिन मैं ' इसमें डीबग करें। अगर मैं वर्बोज़ ट्रेसिंग देखने के लिए सेटिंग्स को बदलने की कोशिश करता हूं, तो एनयूनीट गुई एक अनचाहे एक्सेप्शन फेंकता है।

यदि मैं विजुअल स्टूडियो से टेस्ट व्यू/डीबग चयन के माध्यम से परीक्षण चलाता हूं, तो सेटअप विधि पर ब्रेक पॉइंट निष्पादन को रोकता नहीं है और विधि के अंदर ट्रेस स्टेटमेंट डीबग विंडो में प्रिंट नहीं होते हैं। तो मुझे यकीन है कि सेटअप विधि को बुलाया नहीं जा रहा है।

जबकि मैं बस सेटअप कक्षा को सभी टेस्ट कक्षाओं का आधार बन सकता हूं, मुझे केवल एक बार चलने वाली विधि की आवश्यकता है।

कोई भी मदद अद्भुत होगी।

+0

तकनीकी उत्तर की कमी के लिए, और इसे एक डिजाइन परिप्रेक्ष्य से देखा। मैं अटारी को हटाने जा रहा हूं और उस पर निर्भर परीक्षणों से विधि को कॉल कर रहा हूं (परीक्षणों का 9 0%)। विधि में एक झंडा भी होगा जो केवल काम करता है अगर यह पहले नहीं किया गया है। यह प्रत्येक परीक्षण को क्या होता है इसके संदर्भ में आसानी से पठनीय होने की अनुमति देगा - कुछ करने के बजाय सेटअप विधि या बेस क्लास को ढूंढने के बजाय। – DFBerry

उत्तर

2

मैंने NuGet (2.6) से नवीनतम NUnit का उपयोग करते समय बस वही देखा। [सेटअप] विधि [टेस्ट] -मायड्स से पहले नहीं चलती है।

मुझे नहीं पता कि उन्होंने एनयूनीट के इस महत्वपूर्ण हिस्से को क्यों बदल दिया, लेकिन मैंने इसे संस्करण 2.5.10 पर वापस जाकर अपने उद्देश्यों के लिए तय किया जो [टेस्ट] से पहले [सेटअप] चलाता है।

+0

मुझे अभी इसका सामना करना पड़ा है, इसलिए यह अभी भी 2.6.2 – Jammer

+2

में एक समस्या है नोट करें कि [सेटअप] केस-संवेदी है, कम से कम इसने मेरे लिए v2.6.4 में समस्या हल की, जहां मैं अनजाने में एक अलग [सेटअप] का उपयोग कर रहा था विशेषता जो संभवतः न्यूटिट या वीएस द्वारा जोड़ा गया था। –

1

मुझे यह समस्या भी थी लेकिन परीक्षण धावक (मेरे मामले में TestDriven.NET) के नवीनतम संस्करण को स्थापित करने के लिए इसे ठीक किया गया। यह मेरे लिए एक न्यूट मुद्दा नहीं था।

3

मैं सिर्फ इस मुद्दे में पड़ गए और अंत में NUnit SetUpFixture documentation से इस महत्वपूर्ण वाक्य पाया:

"यह विशेषता है कि एक वर्ग है कि एक के तहत सभी परीक्षण जुड़नार के लिए एक समय सेटअप या टियरडाउन तरीकों में शामिल है के निशान है दिए गए नेमस्पेस। "

मेरी सेटअपफिक्शन क्लास को मेरे परीक्षणों की तुलना में पूरी तरह से अलग नामस्थान में बदल दिया गया था, इसलिए यह नहीं चल रहा था।

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