खोज…


टिप्पणियों

Moq .Net के लिए एक मॉकिंग लाइब्रेरी है। यह यूनिट परीक्षण की सुविधा के लिए निर्भरता के साथ बातचीत को सत्यापित और सत्यापित करने की अनुमति देता है।

Moq के विभिन्न संस्करणों के लिए जारी किए गए नोट्स यहां देखे जा सकते हैं

स्थापना या सेटअप

  1. उस परियोजना का चयन करें जिसे आप Moq के संदर्भ में जोड़ना चाहते हैं।
  2. इस परियोजना के लिए Nuget खोलें।
  3. खोज बॉक्स पर "ब्राउज़ करें" टाइप "moq" चुनें।
  4. "Moq" चुनें और इंस्टॉल पर क्लिक करें।

यहाँ छवि विवरण दर्ज करें

इन चरणों के बाद Moq पैकेज स्थापित होगा और चयनित परियोजना संदर्भों में इसका संदर्भ जोड़ देगा। इन चरणों को पूरा करने के बाद, Moq को यूनिट टेस्ट प्रोजेक्ट में केवल टेस्ट क्लास फाइलों में घोषित करके उपयोग किया जा सकता है:

Using Moq;

Moq टेस्ट डबल्स हैं

मोक्स का अर्थ टेस्ट डबल्स के रूप में होता है, जो मॉक के साथ इंटरैक्शन को मान्य करने की अनुमति देते हैं, वे आपके द्वारा परीक्षण किए जा रहे सिस्टम को बदलने के लिए नहीं होते हैं। उदाहरण अक्सर निम्नानुसार Moq की विशेषताएं प्रदर्शित करेंगे:

// Create the mock
var mock = new Mock<IMockTarget>();

// Configure the mock to do something
mock.SetupGet(x => x.PropertyToMock).Returns("FixedValue");

// Demonstrate that the configuration works
Assert.AreEqual("FixedValue", mock.Object.PropertyToMock);

// Verify that the mock was invoked
mock.VerifyGet(x => x.PropertyToMock);

जब भी यह उदाहरण मॉक का उपयोग करने में शामिल चरणों को दर्शाता है, तो यह याद रखना महत्वपूर्ण है कि यह वास्तव में कुछ भी परीक्षण नहीं करता है, इसके अलावा मॉक को सेटअप किया गया है और इसका सही उपयोग किया गया है। एक वास्तविक परीक्षण जो मॉक का उपयोग करता है, मॉक को उस सिस्टम को आपूर्ति करेगा जिसे परीक्षण किया जाना है। निम्नलिखित विधि का परीक्षण करने के लिए:

public class ClassToTest
{
    public string GetPrefixedValue(IMockTarget provider)
    {
        return "Prefixed:" + provider.PropertyToMock;
    }
}

आश्रित इंटरफ़ेस का मज़ाक बनाना संभव है:

public interface IMockTarget
{
    string PropertyToMock { get; }
}

वास्तव में GetPrefixedValue विधि के व्यवहार को मान्य करता है कि एक परीक्षण बनाने के लिए:

// Create and configure the mock to return a known value for the property
var mock = new Mock<IMockTarget>();
mock.SetupGet(x => x.PropertyToMock).Returns("FixedValue");

// Create an instance of the class to test
var sut = new ClassToTest();

// Invoke the method to test, supplying the mocked instance
var actualValue = sut.GetPrefixedValue(mock.Object);

// Validate that the calculated value is correct
Assert.AreEqual("Prefixed:FixedValue", actualValue);

// Depending on what your method does, the mock can then be interrogated to
// validate that the property getter was called.  In this instance, it's
// unnecessary since we're validating it via the calculated value.
mock.VerifyGet(x => x.PropertyToMock);


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