खोज…


ऑटो स्टबिंग गुण

कभी-कभी आप एक वर्ग या एक इंटरफ़ेस का मजाक उड़ाते हैं और इसके गुणों का व्यवहार करते हैं जैसे कि वे साधारण गेटर्स और सेटर थे। जैसा कि यह एक सामान्य आवश्यकता है, Moq मूल्यों को संग्रहीत करने और पुनः प्राप्त करने के लिए एक नकली के सभी गुणों को सेटअप करने के लिए एक छोटी कट विधि प्रदान करता है:

// SetupAllProperties tells mock to implement setter/getter funcationality
var userMock = new Mock<IUser>().SetupAllProperties();

// Invoke the code to test
SetPropertiesOfUser(userMock.Object);

// Validate properties have been set
Assert.AreEqual(5, userMock.Object.Id);
Assert.AreEqual("SomeName", userMock.Object.Name);

पूर्णता के लिए, परीक्षण किया जा रहा कोड नीचे है

void SetPropertiesOfUser(IUser user)
{
    user.Id = 5;
    user.Name = "SomeName";
}

निजी बस्तियों के साथ गुण

कभी-कभी आप एक ऐसे वर्ग का मजाक बनाना चाहते हैं जिसमें एक निजी सेटर हो:

public class MockTarget
{
    public virtual string PropertyToMock { get; private set; }
}

या एक इंटरफ़ेस जो केवल एक गटर को परिभाषित करता है:

public interface MockTarget
{
    string PropertyToMock { get; }
}

दोनों ही मामलों में, आप सेटर को अनदेखा कर सकते हैं और एक वांछित मान वापस करने के लिए संपत्ति प्रापक सेट कर सकते हैं:

var mock = new Mock<MockTarget>();
mock.SetupGet(x => x.PropertyToMock).Returns("ExpectedValue");

Assert.AreEqual("ExpectedValue", mock.Object.PropertyToMock);


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow