हम कुछ यूनिट परीक्षण करने के लिए राइनो मोक्स का उपयोग कर रहे हैं और दो इंटरफेस का नकल करने की आवश्यकता है। ऑब्जेक्ट पर केवल एक इंटरफेस लागू किया गया है और दूसरा एक पहलू उन्मुख दृष्टिकोण का उपयोग करके गतिशील रूप से कार्यान्वित किया जाता है। क्या दो इंटरफेस गतिशील रूप से गठबंधन करने का कोई आसान तरीका है ताकि एक नकली बनाया जा सके और दोनों इंटरफेस के लिए तरीकों को दबाया जा सके?मैक्स बनाने के दौरान मैं दो इंटरफेस कैसे जोड़ूं?
16
A
उत्तर
3
राइनो Mocks का उपयोग कर कई इंटरफेस के साथ एक नकली तो जैसे उत्पन्न किया जा सकता है:
var mocker = new MockRepository();
var mock = mocker.CreateMultiMock<IPrimaryInterface>(typeof(IFoo), typeof(IBar));
mocker.ReplayAll();
11
यह गतिशील नहीं है, लेकिन निश्चित रूप से आसान है:
internal interface ICombined : IFirstInterface, ISecondInterface {}
फिर ICombined
नकली: अपने परीक्षण विधानसभा के भीतर एक इंटरफेस है जो अन्य दो इंटरफेस को लागू करने के अलावा अन्य कुछ नहीं करता है बनाएँ।
14
राइनो Mocks का उपयोग
var mock = MockRepository.GenerateMock<IFirst, ISecond>();
mock.Stub(m => m.FirstProperty).PropertyBehavior();
((ISecond)mock).Stub(k=> k.SecondProperty).PropertyBehavior();
मिले और से http://www.richard-banks.org/2010/08/mocking-comparison-part-11-multiple.html
+3
यदि अन्य टी पर ठोकरें उसका, ध्यान दें कि यह उत्पन्न ** मॉक ** है और 'जेनरेट स्टब' नहीं है। स्टब संस्करण में एकाधिक प्रकार के तर्क नहीं हैं। – Default
संबंधित मुद्दे
- 1. मैं एरलांग में दो द्विआधारी कैसे जोड़ूं?
- 2. मैं एक मॉडल को दो बार दूसरे से कैसे जोड़ूं
- 3. नेटबीन्स में 7 मैवेन प्रोजेक्ट बनाने के दौरान मैं परीक्षण को कैसे छोड़ूं और मैवेन अतिरिक्त पैरामीटर कैसे जोड़ूं?
- 4. मैं सी # में दो शब्दकोशों से मूल्य कैसे जोड़ूं?
- 5. मैं पाइथन ओपनसीवी में दो मैट्रिक्स कैसे जोड़ूं?
- 6. मैं उद्देश्य-सी में दो सरणी कैसे जोड़ूं?
- 7. मैं PowerShell में दो टेक्स्ट फ़ाइलों को कैसे जोड़ूं?
- 8. मैं दो कॉलम के आधार पर दो डेटा-फ्रेम कैसे जोड़ूं?
- 9. दो इंटरफेस और WCF
- 10. गैंडो मैक्स के साथ दो बार संपत्ति को छीनना
- 11. सीएसवी से एसक्यूएल में डेटा ट्रांसफर के दौरान मैं निरंतर कॉलम मान कैसे जोड़ूं?
- 12. मैं बैश के साथ एक टेक्स्ट फ़ाइल की हर दो पंक्तियों को कैसे जोड़ूं?
- 13. मैं प्रामाणिकता टोकन कैसे जोड़ूं?
- 14. मैं या दो का उपयोग कर दो ल्यूसीन प्रश्नों को कैसे जोड़ूं?
- 15. मैं दो अलग-अलग तालिकाओं पर दो गिनती (*) परिणाम कैसे जोड़ूं?
- 16. मैं इन xpath अभिव्यक्तियों को कैसे जोड़ूं?
- 17. डब्ल्यूपीएफ - स्टाइल बनाने के दौरान एक स्टाइल
- 18. जावा में जेनेरिक ऑब्जेक्ट बनाने के लिए कैसे एक इंटरफेस
- 19. मैक्स-फ़ंक्शन
- 20. मैं दो SQL क्वेरी परिणामों से कॉलम को कैसे जोड़ूं/विलय कैसे करूं?
- 21. मैं प्रोलॉग में सूचियों को कैसे जोड़ूं?
- 22. पायथन बनाने के दौरान मैं sqlite3 बनाने में विफल क्यों हुआ?
- 23. मॉड्यूल बनाने के दौरान मैं पर्ल के संकलन झंडे को कैसे ओवरराइड कर सकता हूं?
- 24. मैं जेसन.नेट आउटपुट में टिप्पणियां कैसे जोड़ूं?
- 25. सी # में, मैं एक बार में फ़ाइल पथ के दो से अधिक हिस्सों को कैसे जोड़ूं?
- 26. मैं emacs 'उभरने में एक संघर्ष के दो रूपों को कैसे जोड़ूं?
- 27. साथ मैक्स मूल्य
- 28. मैक्स पीक्यू
- 29. CakePHP मैक्स
- 30. मैक्स सी #
टिप्पणी जानकारी का उपयोग किया है कि 'ReplayAll' एक [अप्रचलित राइनो मोक्स शैली] है (http://stackoverflow.com/questions/6078061/what-is-replayall-and-verifyall-in-rhinomocks) – Default