2008-11-21 16 views
11

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

उत्तर

15

यदि आप यह जांचना चाहते हैं कि आपकी डेटा एक्सेस परत सही काम करती है तो आपको वास्तव में किसी डेटाबेस पर इसका परीक्षण करने की आवश्यकता होती है अन्यथा आप वास्तव में इसका परीक्षण नहीं कर रहे हैं।

+0

+1 और अगर एक परीक्षण डेटाबेस मौजूद नहीं है, वास्तव में निर्मित किया जाना चाहिए (लगता ओपी की तरह डेटा अपडेट के बारे में चिंतित है)। –

+1

मॉकिंग की भूमिका क्या है, क्या कोई टेस्ट डेटाबेस की भूमिका बनाम उस के उपयोग की व्याख्या कर सकता है? –

+2

एक परीक्षण डेटाबेस वह होगा जो आप अपने एकीकरण परीक्षण (आपके डीएएल के परीक्षण) के खिलाफ चलाएंगे। मजाक ताकि तुम सिर्फ w/ओ वास्तव में डेटाबेस से टकराने (जैसे आप सुनिश्चित करें कि आपके कोड सही तरीके से एक नकली प्रदान करके आपके दाल कॉल कर) तर्क का परीक्षण इकाई परीक्षण के लिए अपनी दाल को बदलने के लिए इस्तेमाल किया जाएगा। – Todd

4

जब मैं अपने डीएएल का परीक्षण करता हूं तो यूनिट परीक्षण के अंत में लेनदेन और रोलबैक का उपयोग करता हूं, इसलिए डीबी साफ़ है।

+0

दिलचस्प, कभी इसके बारे में सोचा नहीं, मुझे यकीन है कि मैं इसे Google कर सकता हूं लेकिन क्या आपके पास यह कोड स्निपेट है कि आप इसे कैसे करते हैं? –

+0

हालांकि यह यूनिट-टेस्ट नहीं है, लेकिन एकीकरण परीक्षण है, जो ठीक है। प्रत्येक ढांचे में स्वचालित लेनदेन के साथ, कई ढांचे में उनके एकीकरण परीक्षण अलग परीक्षण डेटाबेस को इंगित करते हैं। –

+0

क्या एनयूनीट परीक्षण पर यह ऑटो ट्रांस करता है? यदि ऐसा है तो मैं इसे करने के लिए इसे कैसे कॉन्फ़िगर कर सकता हूं? –

4

यूनिट एक दाल परीक्षण के विकास में एक बहुत ही आम सिरदर्द है। अधिकांश भाग के लिए, मेरा सुझाव है कि आप इसे छोड़ दें।

अधिकांश ओआरएम इन दिनों कुछ प्रकार की क्वेरी भाषा प्रदान करते हैं, चाहे यह LINQ या HQL हो या कुछ अन्य स्वाद हो। चूंकि एक उचित यूनिट परीक्षण की आवश्यकता होती है कि आप वास्तव में डेटाबेस को हिट न करें, आपको ओआरएम का मज़ाक उड़ा देना होगा और ऐसा करना जो गधे में सबसे बड़ा दर्द है, जिसे आप सोच सकते हैं। यह इसके लायक नहीं है, आईएमओ। आखिरकार, आप केवल परीक्षण समाप्त कर देते हैं कि आपने अपने कोड में उचित क्वेरी लिखी है; आपको कोई रिग्रेशन मूल्य नहीं मिलता है और कोड के निरीक्षण से आपके उद्देश्यों को बेहतर ढंग से पूरा कर सकता है।

मैं नहीं कह रहा हूं कि आपको डीएएल के उपयोग का परीक्षण नहीं करना चाहिए, हालांकि; बस इकाई परीक्षण का प्रयास न करें। आपके पास अभी भी आपके प्रोग्राम/सिस्टम के लिए एकीकरण और उपयोगकर्ता स्वीकृति परीक्षण का एक सूट होना चाहिए; उन लोगों को इसके बजाय आपके डेटा एक्सेस का परीक्षण करने दें।

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