में दिखाया गया है जैसा कि नीचे दिखाया गया है, मैं एक नकली सेट अप कर रहा हूं। यह लक्ष्य के निर्माता में पारित किया जाता है। लक्ष्य में एक डिक्रिप्ट विधि है जिसे लक्ष्य के जीवनकाल में दो बार बुलाया जाता है। प्रत्येक बार डिक्रिप्ट विधि कहलाती है, यह उस प्रमाणपत्र का निपटान करती है जो सेटअप में "नया" है। हालांकि, दूसरी बार डिक्रिप्ट ऑब्जेक्ट को कॉल करते समय, मुझे डिक्रिप्शन का प्रयास करने पर ऑब्जेक्ट डिस्प्लेज्ड विधि मिल रही है। यदि मैं इस मॉक को ICertificateHelperAdapter के नकली कार्यान्वयन के साथ प्रतिस्थापित करता हूं जो GetCertificate() को कॉल करता है, तो डिक्रिप्ट के लिए दूसरा कॉल ठीक से काम करता है।बाद में एक मॉक .etup परिणाम को उसी ऑब्जेक्ट इंस्टेंस में
मैं यह कह रहा हूं कि जब मैं मॉक का उपयोग करता हूं, तो यह मुझे GetCertificate के बाद की कॉल पर ऑब्जेक्ट का एक नया उदाहरण नहीं लौटा रहा है। क्या यह डिजाइन द्वारा है?
private Mock<ICertificateHelperAdapter> GetCertificateHelperAdapter()
{
Mock<ICertificateHelperAdapter> certificateHelper = new Mock<ICertificateHelperAdapter>();
certificateHelper.Setup(
ch => ch.GetCertificate(CertStoreName.My, StoreLocation.LocalMachine, It.IsAny<string>())).Returns(this.GetCertificate()).Verifiable();
return certificateHelper;
}
private X509Certificate2 GetCertificate()
{
return new X509Certificate2(Environment.CurrentDirectory + "\\" + "azureconfig.pfx", "dingos");
}
यह काम नहीं कर रहा है अगर मैं गुणों को सेट कर रहा हूं और तरीकों से नहीं। – Raj