Moq सुरक्षित आभासी सदस्यों (see here) का मज़ाक उड़ाता है। क्या FakeItEasy में ऐसा करना संभव है?FakeItEasy में संरक्षित आभासी सदस्यों को कैसे नकल करें?
8
A
उत्तर
24
यह किया जा सकता है, हालांकि यह बॉक्स से बाहर नहीं किया जा सकता है। चाल IFakeObjectCallRule को लागू करना है और इसे नकली.GetFakeManager (foo) के माध्यम से अपने नकली में जोड़ें। AddRule (myRule)।
मैं हालांकि यह सुविधा लागू करने के बारे में सोच रहा हूँ, यह कुछ इस तरह होगा:
A.CallTo (foo) .WhereMethod (x => x.Name == "MyProtectedMethod") रिटर्न ("। जो कुछ");
सिंटैक्स अभी तक परिष्कृत नहीं है।
संपादित सुविधा ऊपर उल्लेख किया है अब लागू किया गया है:
A.CallTo(foo).Where(x => x.Method.Name == "MyProtectedMethod").WithReturnType<int>().Returns(10);
12
पैट्रिक के जवाब के अलावा, मैंने सोचा कि यह कैसे आप एक संरक्षित संपत्ति नकली सकता है की एक टिप जोड़ने के लिए इस पोस्ट में प्रासंगिक होगा सदस्य:
A.CallTo(foo).Where(x => x.Method.Name == "get_MyProtectedProperty").WithReturnType<int>().Returns(10);
यह वास्तव में प्रतिबिंब गुणों के 'गेटर' विधियों का इलाज कैसे करता है।
उम्मीद है कि यह मदद करता है :)
संबंधित मुद्दे
- 1. Rhino.Mocks के साथ संरक्षित आभासी सदस्यों को नकल कैसे करें?
- 2. गैर आभासी तरीकों का नकल कैसे करें?
- 3. FakeItEasy
- 4. बढ़ावा :: संरक्षित सदस्यों और संदर्भ
- 5. संरक्षित कन्स्ट्रक्टर बनाम शुद्ध आभासी विनाशक
- 6. सी # संरक्षित सदस्यों आधार वर्ग चर
- 7. क्या डॉक्सिजन संरक्षित सदस्यों को आउटपुट से रोकना संभव है?
- 8. यूनिट परीक्षणों में डेटटाइम.अब कैसे नकल करें?
- 9. EntityManager का नकल कैसे करें?
- 10. HttpServletRequest का नकल कैसे करें?
- 11. हॉटलिंक संरक्षित छवियों को कैसे डाउनलोड करें?
- 12. xUnit, SubSpec और FakeItEasy
- 13. NHibernate अपवाद: विधि जोड़ें होना चाहिए 'सार्वजनिक/संरक्षित आभासी' या
- 14. एक सामान्य विधि FakeItEasy
- 15. रिशेर्पर - बेस क्लास सदस्यों समेत समानता सदस्यों को उत्पन्न करें
- 16. अंतिम जावा कक्षाओं में संरक्षित सदस्यों को क्यों अनुमति दी जाती है?
- 17. उप-वर्गों से संरक्षित सदस्यों तक पहुंच: जीसीसी बनाम एमएसवीसी
- 18. अप्रयुक्त सदस्यों को संरचना में कैसे जांचें?
- 19. विंडोज पर Emacs में क्लिपबोर्ड सामग्री को कैसे संरक्षित करें?
- 20. सी # में संरक्षित कन्स्ट्रक्टर को कैसे कॉल करें?
- 21. पायथन में पहुंचते समय matlab संरचना को कैसे संरक्षित करें?
- 22. FakeItEasy गहरे घोंसले प्रकार
- 23. सी ++, संरक्षित अमूर्त वर्चुअल बेस शुद्ध आभासी निजी विनाशक
- 24. आभासी सदस्यों को प्रतिबिंब (सामान्य परिस्थितियों में) के माध्यम से बुलाया जाता है?
- 25. आईई में CSS3 संक्रमण की नकल करें?
- 26. आउटगोइंग सॉकेट कनेक्शन का नकल कैसे करें?
- 27. ऑब्जेक्ट निर्माण का नकल कैसे करें?
- 28. AJAX अनुरोध का नकल कैसे करें?
- 29. ब्राउज़र के टाइमज़ोन का नकल कैसे करें?
- 30. PHPUnit - पीडीओ तैयार कथन कैसे नकल करें
बहुत बढ़िया। नई सुविधा के लिए बहुत बहुत धन्यवाद। अब मैं अपना खुद का नियम फिर से हटा सकता हूं। –
मैंने आपके द्वारा प्रदान किए गए कोड को आजमाया है, लेकिन विधि MyProtectedMethod अभी भी कॉल की जा रही है। मैं उम्मीद करता हूं कि यह फर्जी रिटर्न वैल्यू लौटाएगा लेकिन मूल विधि को कॉल नहीं करेगा। क्या मुझसे कुछ गलत हो रही है? – stusherwin
@stusherwin शायद विधि आभासी नहीं है? –