Moq डेवलपर्स को संरक्षित सदस्यों को नकल करने की अनुमति देता है। मैं Rhino.Mocks में एक ही कार्यक्षमता की तलाश में था लेकिन इसे ढूंढने में विफल रहा।Rhino.Mocks के साथ संरक्षित आभासी सदस्यों को नकल कैसे करें?
यहां Moq Quick Start पृष्ठ से संरक्षित विधि को नकल करने का उदाहरण दिया गया है।
// at the top of the test fixture
using Moq.Protected()
// in the test
var mock = new Mock<CommandBase>();
mock.Protected()
.Setup<int>("Execute")
.Returns(5);
// if you need argument matching, you MUST use ItExpr rather than It
// planning on improving this for vNext
mock.Protected()
.Setup<string>("Execute",
ItExpr.IsAny<string>())
.Returns(true);
मुझे बताएं कि क्या मैं कुछ ऐसा पीछा कर रहा हूं जो बाहर नहीं निकलता है।
आप हो सकता है कि यह लिंक देखना चाहें http://geekswithblogs.net/MattRobertsBlog/archive/2008/12/16/how-to-make-a-quotprotectedquot-method-available-for-quotpartialquot-mocking-and-again.aspx – juharr
यह वास्तव में एक उपयुक्त समाधान नहीं है - अन्य कक्षाओं में आंतरिक रूप से एक विधि का पर्दाफाश करने के लिए अपनी मूल कक्षा को बदलना है ईन्स आप परीक्षण के लिए पूरा करने के लिए अपने डिजाइन में बदलाव कर रहे हैं। मेरे लिए खराब गंध –