फेंकने दें मान लें कि मेरे पास कक्षाएं कार और मैकेनिक हैं। कार "रन" विधि है। मैकेनिक को किसी कारण से कार की आवश्यकता होती है। फिर मैं आरएसपीसी चश्मा लिखता हूं। मैकेनिक में मैं इस तरह एक नकली clas परिभाषित करता हूं:आरएसपीसी चश्मे के लिए सर्वश्रेष्ठ अभ्यास या वर्कअराउंड कक्षा स्थिरांक
class Car; end
और बाद में उस विधि को मैकेनिक का उपयोग करता है। यदि मैं अलग-अलग परीक्षण चलाता हूं तो सभी ठीक काम करते हैं। लेकिन जब मैं दोनों परीक्षण एक साथ चलाता हूं (rspec spec/directory /) मेरी मैकेनिक चश्मा असली कार वर्ग का उपयोग करती है।
तो। मुझे लगता है कि ऐसा इसलिए है क्योंकि रूबी कक्षाएं "खुली" हैं और मैंने पहले ही कार चश्मा के लिए कक्षा को लोड किया है। लेकिन क्या ऐसा करने का एक बेहतर तरीका है? इस तरह की परिस्थितियों के लिए सर्वोत्तम प्रथाएं क्या हैं? क्या इसका मतलब है कि मेरे कोड को कुछ सुधारों की आवश्यकता है क्योंकि यह शायद कसकर युग्मित है?
मैं GitHub में एक त्वरित प्रदर्शन किया: https://github.com/depy/RspecTest
लेकिन कभी-कभी जब मुझे कुछ कक्षा की आवश्यकता होती है जिसमें कक्षा में कुछ और शामिल होता है। मुझे नकली है कि आवश्यकता से पहले "और"। उस बारे में क्या? –
व्यवहार से पहले मैंने आपको पहले ब्लॉक में करने के लिए कहा था। जैसे कि आपके पास 2 कक्षाएं हो सकती हैं, आपके प्रत्येक वर्ग के लिए 1 और पहले ब्लॉक पर, आप पहले ऑब्जेक्ट पर आधारित ऑब्जेक्ट को वापस करने के लिए स्टब कर सकते हैं। –