मैं हाल ही में एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जिसने काफी निर्भरता हासिल करनी शुरू कर दी है और मेरे परीक्षणों को थोड़ा सा साफ करने और उन्हें कम भंगुर बनाने के लिए ऑटोमॉकिंग कंटेनर का उपयोग करने के विचार की खोज कर रहा है।ऑटो मॉकिंग कंटेनर का उपयोग अच्छा या बुरा अभ्यास है?
मैं उन्हें TDD/BDD शुद्धतावादियों द्वारा उपयोग करते हुए, जैसी बातों को बताते हुए के खिलाफ तर्क सुना है: यह तुरंत जो निर्भरता परीक्षण विषय के लिए आवश्यक हैं स्पष्ट नहीं है, या आप निर्भरता कि तुम सच में नहीं है की जरूरत है जोड़ सकते हैं। न तो उनका उपयोग करने के खिलाफ विशेष रूप से मजबूत तर्क की तरह लगता है।
मेरे परिप्रेक्ष्य से, मुझे पेश करने से मुझे परीक्षण आवश्यकताओं पर वापस लौटने और बिना किसी संकलन के कोड प्राप्त करने के लिए नए मोक्स/स्टब्स पेश किए बिना, व्यावसायिक आवश्यकताओं के अनुरूप निर्भरताओं को आवश्यक, हटाने और पेश करने की अनुमति मिल जाएगी।
क्या ऑटोमोकिंग एक अच्छी/बुरी आदत माना जाता है? क्या विशिष्ट स्थितियां हैं जब इसे इस्तेमाल किया जाना चाहिए या नहीं किया जाना चाहिए?
मैं इसके साथ 100% पूरी तरह से सहमत हूं - यह मुख्य रूप से इसलिए आया है क्योंकि मैं ऑर्चर्ड के शीर्ष पर बनने वाली परियोजना पर काम कर रहा हूं और ऑर्चर्ड भलाई के बहुत से उपयोग का मतलब है इंजेक्शन का मतलब है (कभी-कभी बहुत सारे मेरी राय) कुछ वर्गों में निर्भरताओं की। मैंने समान निर्भरताओं को लपेटने और निर्भरताओं की संख्या में कटौती करने के लिए यहां कुछ और कारखाने बनाने की कोशिश की है, लेकिन यह अभी भी स्थानों में कमजोर है। इस उदाहरण में एक 'ऑटोमॉकिंग' कंटेनर टूटने वाले परिवर्तनों को काट देगा जो निर्भरताओं को अनिवार्य रूप से बनाता है। – levelnis