मैं एक अंतरफलक है कि इस तरह दिखता है पर एक विधि है और मैं राइनो Mocks साथ यह ठूंठ हैं:राइनो मोक्स: क्या मैं स्टब() का उपयोग कर सकता हूं जब मेरे पैरामीटर में से एक अभिव्यक्ति <Func<T1, T2>> है?
TValue GetPropertyOfExistingObject<TValue>(long id, Expression<Func<T, TValue>> propertyExpression);
मेरे कोड है कि छोटा करते करता है इस तरह दिखता है:
var service = MockRepository.GenerateStub<IQuoteService>();
service.Stub(s => s.GetPropertyOfExistingObject(1, q => q.QuoteNumber)).Return(1234);
सूचना है कि एक उस विधि में पैरामीटर का Expression<Func<T1, T2>>
है, और यह स्टब निर्दिष्ट मान वापस नहीं कर रहा है। मुझे पता है कि मैं WhenCalled() का उपयोग करके ऐसा कर सकता हूं लेकिन मैं सोच रहा था कि Stub() को अभिव्यक्ति पैरामीटर के साथ काम करना चाहिए या यदि मैं कुछ गलत कर रहा हूं।
यह वर्तमान में केवल अभिव्यक्तियों में विधियों के लिए काम करता है, गुण नहीं। आपको अभिव्यक्ति Matcher से मेल खाने वाली संपत्ति जोड़ने की आवश्यकता होगी। साथ ही, यदि विधि में तर्क हैं, तो आपको उन लोगों की तुलना करने की आवश्यकता होगी। – Tim
महत्वपूर्ण बात! अभी भी काफी उचित - तरीकों के लिए अच्छी तरह से काम किया। – Jan