मुझे कुछ ऑब्जेक्ट बनाने के लिए कारखाने का उपयोग करके कक्षा मिली है। मेरे यूनिट परीक्षण में मैं कारखाने के वापसी मूल्य तक पहुंच बनाना चाहता हूं। चूंकि कारखाना सीधे कक्षा में पास हो जाता है और निर्मित वस्तु के लिए कोई गेटटर प्रदान नहीं किया जाता है, इसलिए मुझे कारखाने से ऑब्जेक्ट को वापस करने में अवरोध करने की आवश्यकता होती है।मॉकिटो + जासूस: रिटर्न वैल्यू कैसे इकट्ठा करें
RealFactory factory = new RealFactory();
RealFactory spy = spy(factory);
TestedClass testedClass = new TestedClass(factory);
// At this point I would like to get a reference to the object created
// and returned by the factory.
क्या कारखाने के वापसी मूल्य तक पहुंचने की संभावना है? शायद जासूस का उपयोग कर?
एक ही रास्ता मैं देख सकता हूँ उपहास करने के लिए कारखाना विधि बनाने है ...
सादर
क्यों 'TestedClass' निर्भरता के रूप में कारखाने में ले जाना चाहिए। क्या यह सिर्फ कारखाने द्वारा बनाई गई वास्तविक कक्षा के लिए नहीं पूछना चाहिए। ? (डेमेटर का कानून) –
'टेस्टेड क्लास' एक ओएसजीआई-घटक है। घटक की एक विधि के लिए प्रत्येक आमंत्रण कारखाने द्वारा बनाई गई एक नई वस्तु की आवश्यकता होती है। बेहतर टेस्टेबिलिटी प्रदान करने के लिए मैंने फैक्ट्री क्लास में वस्तु निर्माण को दोबारा तैयार किया। चूंकि बनाई गई वस्तु विधि पैरामीटर के आधार पर आरंभ की जाती है, इसलिए फैक्ट्री के बजाय बनाए गए ऑब्जेक्ट्स को बस पास करने का कोई तरीका नहीं है। –