मेरे पास एक क्लास ए है जिसमें निम्न है:एमओएफ एक एमईएफ आयात?
public class A {
[Import(typeof(IMyService)]
public IMyService MyService { get; set; }
public A() {
CompositionInitializer.SatisfyImports(this);
}
public void DoWork() {
//Blah
MyService.DoIt();
//Blah
}
}
और यह परीक्षण करने के लिए एक टेस्ट (अलग डीएल - स्पष्ट रूप से)
[TestMethod]
public void TestDoWork() {
//Blah
DoWork();
//Assert assert
}
यह 'MyService' को कॉल करने का प्रयास करने में विफल रहता है मुझे शून्य देता है। मैंने तब कोशिश की है:
[ClassInitialize]
public void InitialiseClass() {
var myService = new Mock<IMyService>();
MyService = myService.Object;
}
'MyService' के साथ घोषित किया गया है:
[Export(typeof(IMyService))]
public IMyService MyService { get; set; }
लेकिन अभी भी कोई खुशी नहीं है, क्या मुझे कुछ याद आ रहा है - क्या यह भी संभव है?
मैं एसएल 3, एमईएफ पूर्वावलोकन 9 और MOQ का उपयोग कर रहा हूँ।
किसी भी मदद की सराहना की!
चीयर्स
क्रिस
ठीक है, लेकिन मुझे कन्स्ट्रक्टर आयातक का उपयोग करने की आवश्यकता क्यों है, संपत्ति मेरे वास्तविक कार्यान्वयन में ठीक काम कर रही है, संभवतः उन प्रकार के आयातों को नकल करने में सक्षम होने का एक मार्ग है? –
@ क्रिस: हालांकि एमईएफ संपत्ति इंजेक्शन को प्रोत्साहित करता है, मैं निर्माण इंजेक्शन पसंद करता हूं क्योंकि इस तरह से संकलक आपको लापता निर्भरताओं के साथ वस्तुओं को बनाने से रोकता है। यह आपको निर्भरता फ़ील्ड को केवल पढ़ने की अनुमति देता है, इसलिए आपको इस बारे में सोचना नहीं है कि निर्भरता बदलने के बाद क्या होता है। –
मैंने इस विधि का चयन किया है, व्यक्तिगत रूप से मैं अभी भी जानना चाहता हूं कि क्या आप संपत्ति इंजेक्शन का नकल कर सकते हैं, लेकिन इससे मेरे पास इस मुद्दे को ठीक करने में मदद मिलती है। चीयर्स। –