2011-07-07 9 views
5

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

यदि मैं उन्हें किसी विशेष क्रम में निष्पादित नहीं करता तो मेरे परीक्षण विफल नहीं होते हैं। हालांकि, मैं बस उन्हें अपने टेस्ट केस स्प्रेडशीट में क्रम में निष्पादित करना चाहता था।

+1

आपको बहुत सारी टिप्पणियां मिल रही हैं कि इससे कोई फर्क नहीं पड़ता कि वे उचित यूनिट परीक्षण हैं या नहीं! –

+8

इससे कोई फर्क नहीं पड़ता कि वे उचित हैं ... –

+1

मैं उचित इकाई परीक्षण धारणा से सहमत हूं, हालांकि बड़ी संख्या में परीक्षण डीबग करने के लिए, यह रिकॉर्ड करने में सक्षम होना उपयोगी हो सकता है कि परीक्षण किस क्रम में भाग गया। परीक्षणों को डीबग करने की अनुमति देगा ताकि वे उचित हों। – demongolem

उत्तर

5

जो उत्तर आप ढूंढ रहे हैं वह है हां। हालांकि मैं अलगाव के सिद्धांतों से सहमत हूं, ऐसे परिदृश्य हैं जहां आपको घटनाओं के अनुक्रम का परीक्षण करने की आवश्यकता है। वीएस 2010 में आप अनुक्रमिक रूप से परीक्षणों के एक सेट को बंडल और परीक्षण करने के लिए एक नया 'ऑर्डर्ड टेस्ट' बना सकते हैं।

+1

@GlennFerrieLive एक कोड उदाहरण या वास्तव में "ऑर्डर्ड टेस्ट" का लिंक शानदार होगा! – iGanja

+0

@iGanja - यहां एक नमूना है। मैंने इसे ज़िपित किया और इसे अपने ब्लॉब स्टोर पर रखा - http://j.mp/so-tests- नमूना –

8

आपके परीक्षण ऑर्डर-निर्भर नहीं होना चाहिए; जो परीक्षण noninterdependence की अवधारणा तोड़ता है। विजुअल स्टूडियो में परीक्षणों को ऑर्डर करने की क्षमता की कमी इस अवधारणा का प्रतिबिंब है।

+5

फिर परिभाषित करें कि ऑर्डर्ड टेस्ट नामक एक परीक्षण प्रकार कैसा है, जहां आप चुनते हैं कि कौन से यूनिट परीक्षण चलाने के लिए, और किस क्रम में। –

2

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

4

ओह मैन, आप प्रमुख यूनिट परीक्षण नियमों - "अलगाव" में से एक का उल्लंघन कर रहे हैं।

टेस्ट में कभी भी कोई निर्भरता आदेश नहीं होना चाहिए। उत्तर की प्रतीक्षा न करें, जाओ और वास्तव में आप दोनों को वास्तव में स्वतंत्र होने के लिए परीक्षण करें। मेरा विश्वास करो, अब करना बेहतर है :)

+2

धन्यवाद! मेरे परीक्षण आश्रित नहीं हैं, लेकिन मैं चाहता हूं कि वे मेरे टेस्ट केस स्प्रेडशीट में क्रम में निष्पादित करें। – Maya

+0

ठीक है) लेकिन वैसे भी, आपको ऐसा नहीं करना चाहिए ..) –

+0

मुझे पता है कि यह प्रश्न पुराना है लेकिन मुझे एक ही समस्या है। मेरे पास दो स्वतंत्र परीक्षण हैं जो डेटाबेस के साथ संवाद करते हैं जिन पर मैं नियंत्रण में नहीं हूं। उचित परीक्षण चलाने के लिए मुझे निष्क्रिय परीक्षण से पहले चलाने के लिए सक्रियण परीक्षण की आवश्यकता होती है। क्या इसके लिए कोई रास्ता है? क्या यह अलगाव के "प्रमुख" इकाई परीक्षण नियमों का भी उल्लंघन करता है? चूंकि मैं यूनिट परीक्षणों का उपयोग करना चाहता था यह सत्यापित करने के लिए कि डेटाबेस सर्वर के साथ मेरा संचार सही काम कर रहा है, मैं अपने यूनिट परीक्षणों के लिए अपना खुद का परीक्षण डेटाबेस होस्ट नहीं करना चाहता था। –

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