यह उत्तर देता है कि आपको इकाई परीक्षण क्यों करना चाहिए।
जावास्क्रिप्ट में कवर यूनिट परीक्षण के नीचे 3 वीडियो, लेकिन सामान्य सिद्धांत अधिकांश भाषाओं में लागू होते हैं।
इकाई परीक्षण: मिनट अब समय बचाएंगे - एरिक मान - https://www.youtube.com/watch?v=_UmmaPeBBcc
जेएस यूनिट परीक्षण (बहुत अच्छा) - https://www.youtube.com/watch?v=-IYqgx8JxlU
टेस्टेबल जावास्क्रिप्ट लिखना - https://www.youtube.com/watch?v=OzjogCFO4Zo
अब मैं सिर्फ विषय के बारे में जान रहा हूँ, इसलिए मैं 100% सही नहीं हो सकता हूँ और जो मैं यहाँ बता रहा हूँ, उससे कहीं अधिक है, लेकिन इकाई परीक्षण की मेरी मूल समझ यह है कि आप कुछ परीक्षण कोड लिखते हैं (जो कि आपके से अलग रखा जाता है मुख्य कोड) जो इनपुट (तर्कों) के साथ आपके मुख्य कोड में एक फ़ंक्शन को कॉल करता है जिसे फ़ंक्शन की आवश्यकता होती है और कोड तब जांचता है कि क्या यह एक वैध रिटर्न मान वापस मिलता है। यदि यह एक वैध मान वापस प्राप्त करता है, तो आप परीक्षण चलाने के लिए जिस इकाई परीक्षण ढांचे का उपयोग कर रहे हैं, वह एक हरे रंग की रोशनी (सभी अच्छा) दिखाता है यदि मूल्य अमान्य है तो आपको एक लाल बत्ती मिलती है और आप समस्या को तुरंत दूर कर सकते हैं। उत्पादन के लिए नया कोड जारी करें, परीक्षण के बिना आप वास्तव में त्रुटि नहीं पकड़ सकते हैं।
तो आप वर्तमान कोड के लिए परीक्षण लिखते हैं और कोड बनाते हैं ताकि यह परीक्षा पास करे। महीनों बाद आपको या किसी और को अपने मुख्य कोड में फ़ंक्शन को संशोधित करने की आवश्यकता है, क्योंकि पहले आपने उस फ़ंक्शन के लिए पहले से ही परीक्षण कोड लिखा था जिसे अब आप फिर से चलाते हैं और परीक्षण विफल हो सकता है क्योंकि कोडर ने फ़ंक्शन में एक तर्क त्रुटि पेश की या पूरी तरह से कुछ वापस कर दिया। उस फ़ंक्शन से भिन्न जो वापस लौटना है। फिर से परीक्षण के बिना उस त्रुटि को ट्रैक करना मुश्किल हो सकता है क्योंकि यह संभवतः अन्य कोड को भी प्रभावित कर सकता है और किसी का ध्यान नहीं जाएगा।
इस तथ्य के साथ कि आपके पास एक कंप्यूटर प्रोग्राम है जो आपके कोड के माध्यम से चलता है और इसे आप के बजाय मैन्युअल रूप से इसे ब्राउज़र पेज में परीक्षण करता है, समय बचाता है (जावास्क्रिप्ट के लिए इकाई परीक्षण)। मान लें कि आप एक फ़ंक्शन को संशोधित करते हैं जो किसी वेब पेज पर कुछ स्क्रिप्ट द्वारा उपयोग किया जाता है और यह अपने नए इच्छित उद्देश्य के लिए सभी अच्छी तरह से और अच्छा काम करता है। लेकिन, चलिए तर्कों के लिए यह भी कहते हैं कि आपके कोड में एक और फ़ंक्शन है जो आपके कोड में कहीं और है जो ठीक से संचालित करने के लिए उस नए संशोधित फ़ंक्शन पर निर्भर करता है। यह निर्भर फ़ंक्शन अब आपके द्वारा पहले फ़ंक्शन के लिए किए गए परिवर्तनों के कारण काम करना बंद कर सकता है, हालांकि बिना परीक्षण के जो आपके कंप्यूटर द्वारा स्वचालित रूप से चलाए जाते हैं, आप यह नहीं देखेंगे कि वास्तव में निष्पादित होने तक उस फ़ंक्शन के साथ कोई समस्या नहीं है; आप'
दोहराए जाने के लिए, आपके एप्लिकेशन को विकसित करते समय चलाए जा रहे परीक्षण इस प्रकार की समस्याओं को पकड़ लेंगे जैसे आप कोडिंग कर रहे हैं। जगह में परीक्षण नहीं होने से आपको मैन्युअल रूप से अपने पूरे आवेदन के माध्यम से जाना होगा और फिर भी बग को स्पॉट करना मुश्किल हो सकता है, भोलेपन से आप इसे उत्पादन में भेजते हैं और थोड़ी देर बाद एक प्रकार का उपयोगकर्ता आपको बग रिपोर्ट भेजता है (जो एक परीक्षण ढांचे में आपकी त्रुटि संदेशों के रूप में उतना अच्छा नहीं होगा)।
जब आप पहली बार इस विषय को सुनते हैं और आप अपने बारे में सोचते हैं, तो क्या मैं पहले से ही अपने कोड का परीक्षण नहीं कर रहा हूं? और जो कोड आपने लिखा है वह काम कर रहा है जैसे पहले से माना जाता है, "मुझे दूसरे ढांचे की आवश्यकता क्यों है?" ... हाँ आप पहले से ही अपने कोड का परीक्षण कर रहे हैं, लेकिन एक कंप्यूटर इसे करने में बेहतर है। आपको बस एक बार किसी फ़ंक्शन / कोड की इकाई के लिए पर्याप्त अच्छे परीक्षण लिखने होंगे और बाकी के लिए शक्तिशाली सीपीयू द्वारा आपके लिए ध्यान रखा जाएगा, बजाय इसके कि आप मैन्युअल रूप से जांच करें कि आपके सभी कोड अभी भी काम कर रहे हैं जब आप एक बदलाव करते हैं तुम्हारा कोड।
इसके अलावा, यदि आप नहीं चाहते हैं, तो आपको अपने कोड का परीक्षण करने की आवश्यकता नहीं है, लेकिन यह बंद हो जाता है क्योंकि आपकी परियोजना / कोड आधार बड़ा होने लगता है क्योंकि बग को शुरू करने की संभावना बढ़ जाती है।