करते समय निनजेक्ट का उपयोग करते हुए, मोन के साथ एक ऑब्जेक्ट का मज़ाक उड़ाते हुए मुझे निनजेक्ट के साथ यूनिटटेस्टिंग प्रोजेक्ट में मोक का उपयोग करने में परेशानी हो रही है।यूनिटटेस्टिंग
मेरे समाधान के बारे में पहले कुछ पंक्तियां। इसमें कई परियोजनाएं हैं (बुसिन लॉजिक, डीएएल, इंफ्रास्ट्रक्चर ...)। मेरा लक्ष्य यूनिटटेस्ट तर्क है जिसे मैं BussinessLogic प्रोजेक्ट में उपयोग कर रहा हूं। समाधान मूल रूप से विंडोज़ सेवा के लिए है, लेकिन मैंने तर्क में डाल दिया है ताकि इसे स्टैंडअलोन चलाया जा सके। मैं निनजेक्ट का उपयोग कर रहा हूं और मैं मौसम निर्दिष्ट करता हूं कि मैं प्रोडक्शन मॉड्यूल या टेस्टिंग मॉड्यूल का उपयोग करना चाहता हूं (विंडोज सेवा प्रोडक्शन मॉड्यूल का उपयोग करना चाहती है, कंसोल ऐप टेस्टिंग मॉड्यूल का उपयोग करती है)
मैं निंजा कर्नेल प्राप्त करने के लिए कारखाने के पैटर्न का उपयोग कर रहा हूं जब भी मुझे इसकी आवश्यकता हो आवेदन।
मेरा परीक्षण मॉड्यूल NinjectModule से प्राप्त होता है जहां मैं लोड() विधि को ओवरराइड करता हूं और वहां मैं बाध्यकारी करता हूं। उदाहरण के लिए:
Bind<IStorageManager>().To<StubStorageManager>();
मैं StubStorageManager है, लेकिन यह खाली है। इसमें आईएसटीरेज प्रबंधक से विधियों की घोषणा शामिल है।
मैं जो चीज करना चाहता हूं वह है (लेमन शर्तों में): यूनिटटेस्ट बनाएं जहां मैं टेस्टिंग मॉड्यूल को पैरामीटर के रूप में निर्दिष्ट करने वाला एक नया कर्नेल बनाउंगा। तो मैं एक मॉक ऑब्जेक्ट बनाना चाहता हूं (आइसेटोरमैनेजर का मजाक कहें) स्टोरेज मैनेजर मैक। IStorageManager में कुछ विधि एक संदेश देता है ऑब्जेक्ट इसलिए मुझे शायद उस पर नकल करने की आवश्यकता होगी, उस संदेश के आधार पर bussiness तर्क कुछ कर रहा है। ऑब्जेक्ट। तो मैं किसी भी तरह से उस संदेश ऑब्जेक्ट को गुण सेट करना चाहता हूं और फिर कुछ व्यवसाय को कॉल करूँगा, इसलिए मैं देख सकता हूं कि तर्क सही तरीके से काम करता है या नहीं।
मुझे आशा है कि मैंने इसे बहुत जटिल नहीं किया है।
कृपया मेरे साथ भालू, मैं मजाक करने और निर्भरता इंजेक्शन के लिए पूरी तरह से नया हूं, लेकिन सीखने के लिए तैयार हूं।
संभावित डुप्लिकेट: http://stackoverflow.com/questions/1465849/using-ioc-for-unit-testing –