मैं अपने यूनिट परीक्षणों में वस्तुओं के साथ आरंभ करना चाहता हूं। ऐसा लगता है कि वहाँ अच्छी रूपरेखा के टन हैं।
- क्या अलग-अलग रूपरेखाओं में अलग-अलग लक्ष्य दर्शक होते हैं?
- मेरी स्थिति के लिए कौन सा ढांचा चुनने पर मुझे किन कारकों पर विचार करना चाहिए?
मैं अपने यूनिट परीक्षणों में वस्तुओं के साथ आरंभ करना चाहता हूं। ऐसा लगता है कि वहाँ अच्छी रूपरेखा के टन हैं।
जवाबों:
हाँ। Microsoft मोल्स , टाइपमॉक आइसोलेटर , और जस्टमॉक जैसे कुछ ढांचे आपको कुछ भी करने में सक्षम होने की अनुमति देते हैं। ये मॉकिंग टूल आम तौर पर डेवलपर्स के लिए बेहतर होते हैं जो उन्हें मौजूदा विरासत कोड पर उपयोग करना चाहते हैं क्योंकि ऐसा डिजाइन में रिफ्लेक्टर संभव नहीं है जो अधिक परीक्षण योग्य हो। *
परंपरागत रूप से, परीक्षण योग्य डिजाइन का मतलब है कि कोडबेस को इंटरफेस, अमूर्त वर्ग, आभासी तरीकों, बिना वर्ग के आदि का उदारवादी उपयोग करने की आवश्यकता है, इसलिए, Moq और RhinoMocks जैसे पारंपरिक मॉकिंग फ्रेमवर्क टेस्टेड डेवलपमेंट, डिपेंडेंसी इंजेक्शन और विकसित कोड के साथ अच्छी तरह से काम करते हैं। ऐसी अन्य अवधारणाएँ। वैसे, मैं अत्यधिक निर्भरता इंजेक्शन का उपयोग करने की सलाह दूंगा क्योंकि आप केवल परीक्षण योग्य कोड की तुलना में बहुत अधिक प्राप्त करते हैं, लेकिन साथ ही अधिक रखरखाव योग्य कोड भी।
* लिगेसी कोड के साथ प्रभावी ढंग से कार्य करना देखें , पारंपरिक परीक्षण (और मॉकिंग) टूल के साथ कोड में परीक्षण के बिना धीरे-धीरे रिफ्लेक्टर कोड के तरीके के लिए।
Moq ट्यूटोरियल TypeMock अलगाने, RhinoMocks, और MOQ: शुरुआत जो कुछ विशिष्ट उपकरणों के संबंध में इस पर चर्चा में पृष्ठभूमि, दर्शन, और विवाद सही पर एक अनुभाग है। यह Moq की व्याख्या करने के लिए लिखा गया है, इसलिए यह स्वाभाविक रूप से थोड़ा तिरछा है, लेकिन मैंने इसे मेरे लिए काफी मददगार पाया जब मॉकिंग फ्रेमवर्क के कुछ अंतरों को समझने की कोशिश की।
मुझे C # Mocking चौखटे पर इस SO थ्रेड की प्रतिक्रियाएँ भी उपयोगी लगीं । अधिकांश केवल एक मॉकिंग फ्रेमवर्क को संदर्भित करते हैं, जो उपयोगकर्ता वास्तव में उपयोगी पाता है, लेकिन एक तरीके से हैराल्डव से एक प्रतिक्रिया है जो प्रॉक्सी-आधारित मॉक और प्रोफाइलर-आधारित मॉक पर चर्चा करती है।
मैं एक तुलना चार्ट भी ऑनलाइन पा रहा था। ध्यान दें कि यह 2009 से है, इसलिए मुझे यकीन नहीं है कि यह अप-टू-डेट है; कम से कम एक टिप्पणी है जो बताती है कि टाइपमॉक और कॉलबैक की जानकारी पुरानी है, लेकिन चार्ट इस मुद्दे को उठाने के लिए अच्छा हो सकता है, भले ही आपको वर्तमान स्थिति क्या है यह देखने के लिए लेगवर्क करने की आवश्यकता होगी: RhinoMocks, Moq, NMock, और टाइपमॉक तुलना चार्ट
आसान कोड तुलना के लिए कई मॉकिंग फ्रेमवर्क में परीक्षण मामलों के साथ Google कोड पर एक परियोजना है: मॉकिंग-फ्रेमवर्क तुलना
मेरी टीम में, हमने Microsoft मोल्स को चुना । यह # 2, # 3, और # 4 पर महत्वपूर्ण रूप से जीतता है, हालांकि यह अधिकांश विकल्पों की तुलना में कम मुहावरेदार है और # 1 पर कम अंत में है।