2012-04-10 8 views
10

कहा जाता है, जब मैं विधि कहलाता हूं तो संपत्ति निर्दिष्ट करने के लिए मैं Moq का उपयोग करने का प्रयास कर रहा हूं। की तर्ज परविधि को असाइन करने के लिए Moq का उपयोग करते समय विधि को

कुछ:

Mock<ITimer> mock = new Mock<ITimer>(); 
mock.Setup(x=>x.Start()).AssignProperty(y=>y.Enabled = true); 

यह संभव Moq उपयोग करने के लिए एक उम्मीद संपत्ति के मूल्य निर्धारित करने के लिए जब एक विधि

+0

यह निश्चित रूप से होना चाहिए। मुझे पता है कि राइनो ऐसा करेंगे, इसलिए यदि मक ऐसा नहीं करता तो यह आश्चर्यजनक होगा। मुझे विश्वास है कि यह सिर्फ एक कॉन्फ़िगरेशन विधि मिश्रण या कुछ अन्य उपयोग समस्या है। लेकिन, मैं मोक को नहीं जानता इसलिए मैं किसी और को जानकारियों को वास्तव में प्रश्न का उत्तर देने दूंगा। – KeithS

उत्तर

13

कहा जाता है मैं आप अनिवार्य रूप से एक नया सेटअप (प्रदर्शन करने के लिए कोशिश कर रहे हैं मान है) जब आपके विधि को बुलाया जाता है तो आपके मॉक पर? यदि हां, तो आप एक कॉलबैक के साथ यह करने के लिए, इस तरह सक्षम होना चाहिए:

Mock<ITimer> mock = new Mock<ITimer>(); 
mock.Setup(x=>x.Start()).Callback(() => mock.SetupGet(y => y.Enabled).Returns(true)); 

यह बदसूरत है, लेकिन यह चाल करना चाहिए।

+2

धन्यवाद कि यह किया गया था हालांकि मैं mock.Setup (x => x.Start()) के साथ चला गया। कॉलबैक (() => mock.Setup (x => x.Enabled)। पुनर्नवीनीकरण (सत्य)); – Jon

संबंधित मुद्दे