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