वर्तमान में मैं अपने यूनिट टेस्ट में मॉक ऑब्जेक्ट्स की अवधारणा को पेश करना शुरू कर रहा हूं। विशेष रूप से मैं Moq ढांचे का उपयोग कर रहा हूँ। हालांकि, मैंने जो कुछ देखा है, वह यह है कि अचानक इस कक्षा के उपयोग से परीक्षण करने वाले वर्ग 0% के कोड कवरेज दिखा रहे हैं।मैं अपने यूनिट परीक्षणों में नकली ऑब्जेक्ट्स का उपयोग कैसे कर सकता हूं और अभी भी कोड कवरेज का उपयोग कर सकता हूं?
अब मैं समझता हूं कि चूंकि मैं कक्षा का मज़ाक उड़ा रहा हूं, इसलिए यह वास्तविक वर्ग नहीं चला रहा है .... लेकिन मैं इन परीक्षणों को कैसे लिखूं और कोड कवरेज सटीक परिणाम लौटा सकता हूं? क्या मुझे परीक्षणों का एक सेट लिखना है जो मोक्स का उपयोग करता है और कक्षा को तुरंत चालू करने के लिए एक सेट का उपयोग करता है।
शायद मैं इसे महसूस किए बिना कुछ गलत कर रहा हूं?
यहाँ मुझे का एक उदाहरण यूनिट टेस्ट करने के लिए एक वर्ग "MyClass" कहा जाता है की कोशिश कर रहा है:
using Moq;
using NUnitFramework;
namespace MyNameSpace
{
[TestFixture]
public class MyClassTests
{
[Test]
public void TestGetSomeString()
{
const string EXPECTED_STRING = "Some String!";
Mock<MyClass> myMock = new Mock<MyClass>();
myMock.Expect(m => m.GetSomeString()).Returns(EXPECTED_STRING);
string someString = myMock.Object.GetSomeString();
Assert.AreEqual(EXPECTED_STRING, someString);
myMock.VerifyAll();
}
}
public class MyClass
{
public virtual string GetSomeString()
{
return "Hello World!";
}
}
}
किसी को भी पता है कि मैं क्या अलग ढंग से करना चाहिए?
पैरामीटर के बाद आपके GetSomeString उदाहरण में एक ब्रैकेट गुम हो रहा है। –