आरएसपीईसी में आप या तो mock
या double
बना सकते हैं। ये दोनों लगभग एक ही चीज़ प्रतीत होते हैं और मुझे उन दस्तावेज़ों में कुछ भी नहीं मिल रहा है जो उन्हें असंबद्ध करते हैं।आरएसपीईसी में, नकली और डबल के बीच क्या अंतर है?
क्या अंतर है?
आरएसपीईसी में आप या तो mock
या double
बना सकते हैं। ये दोनों लगभग एक ही चीज़ प्रतीत होते हैं और मुझे उन दस्तावेज़ों में कुछ भी नहीं मिल रहा है जो उन्हें असंबद्ध करते हैं।आरएसपीईसी में, नकली और डबल के बीच क्या अंतर है?
क्या अंतर है?
mock
और stub
अधिक सामान्य double
के उपनाम हैं। context
और describe
की तरह, उन्हें चश्मे के इरादे को और स्पष्ट करने के लिए एक दूसरे के लिए उपयोग किया जा सकता है। यह The RSpec Book में बहुत अधिक विस्तार से वर्णित है।
aliases प्रतीत होता है क्योंकि :__declared_as
का उपयोग प्रतीत नहीं होता है लेकिन संदेशों के लिए।
युगल
जब हम गैर नियतात्मक विशेषताओं के साथ घटकों पर निर्भर करती है, हम पा सकते हैं कि फ़ाइलें दूषित हो, डिस्क, असफल नेटवर्क समय समाप्त, और सर्वर को चलाए चश्मा के बीच में नीचे जाना। क्योंकि ये चीजें हैं जिन पर हमारा कोई नियंत्रण नहीं है, जब हम अपने चश्मा चलाते हैं तो वे असंगत और आश्चर्यजनक परिणाम ले सकते हैं। युगल इन उदाहरणों के वास्तविक कार्यान्वयन से हमारे उदाहरणों को डिस्कनेक्ट कर सकते हैं।
स्टब
जब सिस्टम व्यवहार अनुक्रम पर आधारित होता है। एक स्टब इसके लिए बिल्कुल सही है। क्योंकि प्रत्येक उदाहरण एक अलग अनुक्रम निर्दिष्ट कर सकता है। उदाहरण: - यादृच्छिक जनरेटर के मामले में, यह स्पष्ट रूप से गैर निर्धारण का स्रोत है। हम स्थिर अनुक्रम के साथ वास्तविक यादृच्छिक जनरेटर को प्रतिस्थापित करना चाहते हैं।
Mocks
कुछ समय हम एक और उद्देश्य यह है कि अभी तक अस्तित्व में नहीं हो सकता है से कुछ सेवा की जरूरत है। इस तरह के मामलों में हम नकली वस्तु पेश कर सकते हैं। जिसे हम उस ऑब्जेक्ट के रूप में व्यवहार करने के लिए प्रोग्राम कर सकते हैं जिसे हम वर्तमान में उम्मीद कर रहे हैं। इसलिए जब हम इंटरैक्शन मॉक ऑब्जेक्ट्स पर ध्यान केंद्रित करते हैं तो इसे हासिल करना अधिक आसान हो जाता है। तुम भी परीक्षण डबल्स बनाने के लिए नकली और ठूंठ तरीकों का उपयोग कर सकते हैं, हालांकि इन तरीकों केवल पिछली संगतता के लिए देखते हैं और संभावना होगी:
इसके अलावा प्रलेखन '' double' mock' और 'stub' से अधिक उपयोग करने के लिए सलाह देते हैं बहिष्कृत और फिर भविष्य के संस्करणों से हटा दिया गया है (https://www.relishapp.com/rspec/rspec-mocks/) – welldan97
आरएसपीईसी के हाल के संस्करण भी चेतावनी उत्पन्न करते हैं जैसे 'डिप्लेक्शन: स्टब को बहिष्कृत किया गया है। इसके बजाए डबल का प्रयोग करें। '। – amoebe