2010-09-13 15 views
9

लक्ष्य वर्गों के लिए बिल्टिन यूनिट टेस्ट जेनरेटर (वीएस) का उपयोग किया जाना चाहिए या क्या मुझे खुद को यूनिट टेस्ट लिखना सीखना चाहिए? और यह "मॉक" चीज़ क्या है? मैं इसे और अधिक सुनता हूं लेकिन कोई भी अच्छी व्याख्या देने की परवाह नहीं करता है।सी # - यूनिट परीक्षण, मॉक?

अग्रिम धन्यवाद।

+1

यह मजाकिया था। –

+0

[मॉकिंग क्या है?] के संभावित डुप्लिकेट? (Http://stackoverflow.com/questions/2665812/what-is-mocking) – nawfal

उत्तर

16

आपको अपने आप में यूनिट परीक्षण लिखना सीखना होगा। शब्दावली की अच्छी समझ के साथ दाएं पैर पर शुरू करें कि कई लोग गलतियां करते हैं:

यूनिट परीक्षण: कोड की एक इकाई का परीक्षण, बहुत छोटा परमाणु परीक्षण।

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

निर्मित सत्यापन परीक्षण: इसे तैनात करके निर्मित उत्पाद का परीक्षण करना और परीक्षण चलाना जो उपयोगकर्ता के तरीके से इसके साथ बातचीत करेगा। इसके अलावा गलती से यूनिट परीक्षण के रूप में अक्सर संदर्भित किया जाता है। ये सबसे बड़े पूर्ण विशेषीकृत परीक्षण हैं और अक्सर स्वचालित होने के बजाए परीक्षण टीमों द्वारा मैन्युअल रूप से किया जाता है। https://github.com/Moq/moq4/wiki/Quickstart

मजाक कोड है कि अन्य बातों पर निर्भर हो सकता है की एक छोटा सा टुकड़ा, को ले जा रही उन अन्य बातों मजाक ताकि आप नियंत्रित कर सकते हैं का कार्य है:

यहाँ के लिए MOQ शुरुआत वाली जो एक मजाक रूपरेखा है कोड के टुकड़े के आस-पास की परिस्थितियां जिन्हें आप परीक्षण करना चाहते हैं।

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

मॉकिंग आम तौर पर इकाई परीक्षणों में लक्ष्य कोड के चारों ओर सीमाएं बनाने के लिए तैयार किया जाता है, हालांकि यह एक संसाधन बनाने के लिए भी एकीकरण परीक्षण में इसका उपयोग करना असामान्य नहीं है जो आपके द्वारा लक्षित एकीकृत कोड श्रृंखला के बीज के रूप में कार्य करता है।

+0

क्या उन "mocks" को स्वयं के लिए कक्षा में सहेजा जाना चाहिए या वे कुछ परीक्षण करने के लिए अस्थायी हैं कोड आउट करें और फिर बाद में नकली हटा दें? – ebb

+0

@ebb: यह करने का एक पुराना स्कूल तरीका है और ठीक काम करता है, लेकिन जहां मॉकिंग फ्रेमवर्क आते हैं, वे आपको मॉक क्लास का उपयोग करने के बिना वस्तुओं को नकल करने की अनुमति देते हैं। हालांकि सभी मजाक करने वाली वस्तुओं के साथ एक बहुलक संबंध होने पर निर्भर करता है जो आप होने का नाटक कर रहे हैं। तो आपको उन ऑब्जेक्ट्स पर ओवरराइड करने के लिए साझा करने के लिए इंटरफ़ेस या बेस क्लास की आवश्यकता होती है, या वर्चुअल विधियों की आवश्यकता होती है जिन्हें आप दिखाते हैं। –

+1

मुझे पहले क्या सीखना चाहिए .. मॉकिंग या यूनिट परीक्षण? – ebb

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