मैंने यूनिट-परीक्षण विभिन्न अनुप्रयोगों की उपयोगिता के बारे में SO पर कुछ धागे पढ़े हैं। राय "यूनिट टेस्ट बेकार" के लिए "हर समय परीक्षण सब कुछ" से हो सकती हैं, और बीच में सबकुछ ("जहां यह समझ में आता है")। मैं बीच की तरफ झुकता हूं।यूनिट परीक्षण तृतीय पक्ष ORM
जो मुझे मेरे प्रश्न पर ले जाता है। link text
कुछ आधारभूत परीक्षण भविष्य को तोड़ने के परिवर्तन के खिलाफ बीमा के रूप में उपयोगी हो सकता है: मैं के रूप में इस अतः पोस्ट में सुझाव दिया तय करने के लिए करता है, तो यह फायदेमंद या व्यावहारिक कुछ बुनियादी इकाई परीक्षण परीक्षण 3 पार्टी ORM के लिए किया जाएगा कोशिश कर रहा हूँ , आप इस उपकरण का उपयोग कैसे कर रहे हैं इस पर निर्भर करता है। उदाहरण के लिए, संपूर्ण एन-स्तरीय श्रृंखला का मज़ाक उड़ाते हुए (मैं जरूरी होने पर मजाक करने का प्रशंसक नहीं हूं), केवल एक सामान्य ऑब्जेक्ट/रिकॉर्ड बनाने, पढ़ने, अपडेट करने और हटाने के लिए ORM टूल का उपयोग करें, और (परीक्षण) डेटाबेस पर प्रत्यक्ष SQL कथन का उपयोग कर ऑपरेशन को सत्यापित करें। इस तरह यदि तृतीय-पक्ष विक्रेता बाद में कुछ ऐसी चीज अपडेट करता है जो मूल कार्यक्षमता को तोड़ देता है, तो आप इसके बारे में जानेंगे, और आपके प्रोजेक्ट के नए डेवलपर आसानी से देख सकते हैं कि इकाई परीक्षण उदाहरणों से ओआरएम टूल का उपयोग कैसे करें।
इस सलाह के बाद मेरा मुख्य आरक्षण यह है कि इसे बहुत अधिक सेटअप की आवश्यकता होगी, बनाए रखने के लिए सिरदर्द होगा, और यह सब हमारे पर्यावरण में व्यावहारिक नहीं होगा। यहाँ कुछ अंक का सारांश विचार करने के लिए है:
- ORM हम प्रयोग कर रहे स्थिर डेटा स्रोत वस्तु (रों) बनाया है और अपने डेटा एक्सेस परत साथ पंजीकृत है और प्रमाणीकृत उपयोगकर्ता के साथ जुड़े होने की आवश्यकता है। इसके लिए बहुत सारे परीक्षण सेटअप की आवश्यकता होगी, और शायद बिल्ड सर्वर पर समस्याग्रस्त हो जाएगा जहां कोई उपयोगकर्ता लॉग ऑन नहीं है।
- ओआरएम विक्रेता के पास नए अपडेट जारी करने और बुनियादी कार्यक्षमता को तोड़ने का एक अच्छा अच्छा ट्रैक रिकॉर्ड है। इसके अलावा जब भी नवीनतम संस्करण में ओआरएम अपडेट करने का समय होता है, तो मुझे लगता है कि एप्लिकेशन सीधे उत्पादन में नहीं जायेगा, लेकिन वैसे भी पूरी तरह से रिग्रेशन परीक्षण किया जाएगा।
- यूनिट परीक्षण के लिए परीक्षण डीबी बनाए रखना इस माहौल में समस्याग्रस्त है। टेस्ट डीबी प्रत्येक प्रमुख रिलीज के बाद मिटा दिया जाता है और डीबी बैकअप के साथ प्रतिस्थापन डेटा के साथ स्टेजिंग से बदल दिया जाता है। मैं ओआरएम इकाई परीक्षण के लिए एक परीक्षण डीबी रखने के लिए कल्पना करूंगा, हमें कुछ स्क्रिप्ट/कोड चलाने की आवश्यकता होगी जो डेटाबेस को "परीक्षण" स्थिति में सेट करेगा। फिर से बहुत अधिक सेटअप और रखरखाव।
- और अंततः ओआरएम दस्तावेज/नए डेवलपर्स के लिए सहायता। मैं देख सकता हूं कि ऐसा कुछ कैसे उपयोगी हो सकता है। लेकिन ओआरएम विक्रेता डेमो ऐप्स के साथ बहुत अच्छी प्रलेखन/सहायता प्रदान करता है। तो इसके ऊपर यूनिट परीक्षण लिखना सभी प्रयासों के लायक नहीं लगता है।
तो, क्या यह सुनिश्चित करने के लिए कि इन ओआरएम क्या करना चाहते हैं (सीआरयूडी है) इन सभी परेशानियों से गुजरना उचित है? वैसे भी विक्रेता की ज़िम्मेदारी नहीं होनी चाहिए?