यहाँ माता पिता कक्षा में कोड कार्यान्वयन का हिस्सा हैकैसे एक परीक्षण Moq का उपयोग करता है में एक घटना को बढ़ाने के लिए? परीक्षा पद्धति मज़ाक उड़ाया हैंडलर में</p> <pre><code>handler.FooUpdateDelegate += FooUpdate(OnFooUpdate); protected abstract void OnFooUpdate(ref IBoo boo, string s); </code></pre> <p>मेरे पास है:
Mock<IHandler> mHandler = mockFactory.Create<IHandler>();
यह ...
mHandler.Raise(x => x.FooUpdateDelegate += null, boo, s);
... नहीं है काम कर रहे। यह कहता है:
सिस्टम। ऑर्ग्यूमेंट अपवाद: अटैचमेंट या डिटेच विधि के लिए ईवेंट का पता नहीं लगाया गया void set_FooUpdateDelegate (FooUpdate)।
मैं OnFooUpdate
उठाना चाहता हूं ताकि यह बाल वर्ग में कोड का परीक्षण किया जा सके।
प्रश्न: मैं मोक के साथ प्रतिनिधि (सामान्य घटना हैंडलर नहीं) कैसे उठा सकता हूं?
अगर मैं बात पूरी तरह से याद किया, कृपया मुझे enligten।
महान जवाब का उपयोग कर जोड़ा जा रहा है संस्करण:
यदि हां, तो आप सीधे myClass FooUpdateDelegate तो
संपादित की तरह आह्वान कर सकते हैं। एक बात जो मैं उल्लेख करूँगा वह यह है कि आपको mockMyClass.SetupAllProperties() – Eternal21
@ Eternal21 पर कॉल करके FooUpdateDelegate प्रॉपर्टी को जारी रखना पड़ सकता है @ Mternal 0 मॉक MyClass से संपत्ति के ठोस कार्यान्वयन का उपयोग कर रहा है, इसलिए यह ठीक है। हम एक इंटरफेस (जैसे कि, IMyClass) मजाक कर रहे थे, तो कोई ठोस कार्यान्वयन किया जाएगा और नकली पर संपत्ति की स्थापना की जरूरत होगी। –
AlanT
यही मेरी मामला था। – Eternal21