मैं आप लोगों से पूछना चाहता था कि किन मामलों में यह यूनिट टेस्ट स्टेटिकली टाइप्ड फंक्शनल कोड से समझ में आता है, जैसा कि हैसेल, स्काला, ओसमल, नीमरेल, एफ # या हैक्स में लिखा गया है (आखिरी वही है जो मैं वास्तव में दिलचस्पी लेता हूं, लेकिन मैं चाहता था बड़े समुदायों के ज्ञान में टैप करें)।
मैं अपनी समझ से यह पूछता हूं:
इकाई परीक्षणों का एक पहलू है कि चलने योग्य रूप में चश्मा होना। हालाँकि, जब एक घोषणात्मक शैली को नियोजित किया जाता है, जो सीधे भाषा के शब्दार्थों को औपचारिक रूप देता है, तो क्या यह वास्तव में एक अलग तरीके से चल रहे रूपों में चश्मा व्यक्त करना संभव है, जो मूल्य जोड़ता है?
इकाई परीक्षणों का अधिक स्पष्ट पहलू उन त्रुटियों को ट्रैक करना है, जिन्हें स्थैतिक विश्लेषण के माध्यम से प्रकट नहीं किया जा सकता है। यह देखते हुए कि सुरक्षित कार्यात्मक कोड आपके स्थिर विश्लेषक को समझने के लिए बेहद करीबी कोड करने के लिए एक अच्छा उपकरण है, यह प्रतीत होता है कि आप स्थैतिक विश्लेषण के लिए बहुत सारी सुरक्षा को स्थानांतरित कर सकते हैं। हालाँकि आपके कोड में (दोनों निर्देशांक होने के
x
बजाय) उपयोग करने जैसी एक साधारण गलती कोy
कवर नहीं किया जा सकता है। टेस्ट कोड लिखते समय OTOH ऐसी गलती भी उत्पन्न हो सकती है, इसलिए मुझे यकीन नहीं है कि यह प्रयास के लायक है या नहीं।यूनिट परीक्षण अतिरेक का परिचय देते हैं, जिसका अर्थ है कि जब आवश्यकताएं बदलती हैं, तो कोड उन्हें लागू करने और इस कोड को कवर करने वाले परीक्षणों दोनों को बदलना होगा। यह ओवरहेड निश्चित रूप से निरंतर है, इसलिए कोई तर्क दे सकता है, कि यह वास्तव में मायने नहीं रखता है। वास्तव में, रूबी जैसी भाषाओं में यह वास्तव में लाभों की तुलना में नहीं है, लेकिन यह देखते हुए कि सांख्यिकीय रूप से टाइप किए गए कार्यात्मक प्रोग्रामिंग में बहुत सारी जमीनी इकाइयों के परीक्षण का उद्देश्य है, ऐसा लगता है कि यह एक निरंतर ओवरहेड है जो बिना दंड के बस कम कर सकता है।
इससे मुझे लगता है कि इकाई परीक्षण इस प्रोग्रामिंग शैली में कुछ अप्रचलित हैं। निश्चित रूप से इस तरह के दावे से केवल धार्मिक युद्ध हो सकते हैं, इसलिए मुझे एक सरल प्रश्न पर उबाल देना चाहिए:
जब आप ऐसी प्रोग्रामिंग शैली का उपयोग करते हैं, जिसके लिए आप यूनिट परीक्षणों का उपयोग करते हैं और क्यों (अपने कोड के लिए आपको क्या उम्मीद है) क्या गुणवत्ता है? या दूसरा तरीका दौर: क्या आपके पास मापदंड हैं जिनके द्वारा आप स्टेटिक विश्लेषक द्वारा कवर किए गए अनुसार सांख्यिकीय रूप से टाइप किए गए कार्यात्मक कोड की एक इकाई को अर्हता प्राप्त कर सकते हैं और इसलिए बिना यूनिट टेस्ट कवरेज की आवश्यकता के?