मेरे पास एक जटिल वस्तु है जिसे मैं नकली करने की कोशिश कर रहा हूं।FakeItEasy गहरे घोंसले प्रकार
interface IContext
{
User User { get; }
}
A.CallTo(
() => _fakeContext.User.Subscription.Attributes)
.Returns(new List<Attribute>());
लेकिन मैं अगले अपवाद:
The current proxy generator can not intercept the specified method for the following reasons: - Non virtual methods can not be intercepted
सभी नेस्टेड प्रकार के गुण हैं, और वे get; set;
संपत्ति संशोधक के साथ सरल कमजोर प्रकार हैं। और जब मैं डीबगर में देखता हूं तो वे सभी नकली हैं।
क्या श्रृंखला के अंतिम संपत्ति को स्थापित करने और पिछले सभी को सेट करने से बचने का कोई तरीका है?
नियंत्रित किया जा सकता 'User' पर संपत्ति आभासी हैं? यदि ऐसा है तो आप 'उपयोगकर्ता' के लिए स्रोत कोड पोस्ट कर सकते हैं? – Xharze
नहीं। न तो उपयोगकर्ता और न ही सदस्यता वर्चुअल हैं। यह संकलित असेंबली से कोड है। –
FakeItEasy गैर आभासी तरीकों का नकल नहीं कर सकता है, इसलिए आपको ऑब्जेक्ट को स्वयं बनाने के लिए हल करना होगा। नीचे दिए गए उत्तर की तरह कुछ चाल चल जाएगा। – Xharze