2012-07-13 26 views
5

this question about NSubstitute के समान, मैं जानना चाहता हूं कि कोई FakeItEasy लाइब्रेरी का उपयोग करके आंशिक मैक्स को कार्यान्वित करने में सक्षम है या नहीं।क्या FakeItEasy आंशिक मोक्स के विचार का समर्थन करता है?

नकली इत्यादि moq की तुलना में एक समग्र निसर वाक्यविन्यास प्रतीत होता है (जैसे दृढ़ता से टाइप किए गए तरीके से एक नकली कक्षा के निर्माता को पास करने वाले पैरामीटर के साथ पूर्व सौदों)। मैं FakeItEasy पर स्विच करने के बारे में सोच रहा हूं, लेकिन मुझे वास्तव में आंशिक नकली समर्थन की आवश्यकता है।

उत्तर

6

Yes

var fake = A.Fake<Fake>(); 
A.CallTo(() => fake.SomeMethod()).CallBaseMethod(); 

या, आधार कॉल के साथ सभी कॉल्स ओवरराइड करने के लिए:

var fake = A.Fake<Fake>(); 
A.CallTo(fake).CallBaseMethod(); 

संपादित बस स्पष्ट करना: सिंटैक्स नियमित नकली से अलग नहीं है नकली वस्तु एक ठोस से अधिक बनाया जाना चाहिए कक्षा।

+0

यह बहुत अच्छा है, धन्यवाद। – rsenna

+1

मुझे var fake = A.Fake () का उपयोग करने की आवश्यकता है; (इंटरफ़ेस के बजाय ठोस ऑब्जेक्ट) और इसे काम करने से पहले कुछ मोड वर्चुअल बनाते हैं (v 1.8.0)। – Aligned

+0

@ हस्ताक्षरित: आप सही हैं, नकली वस्तु कंक्रीट वर्ग पर बनाई जानी चाहिए। यह स्पष्ट करने के लिए मैं jimmy_keen के उत्तर को संपादित करूंगा। – rsenna