moq
आम इंटरफेस का मजाक उड़ाया
खोज…
मॉकिंग IEnumerable
IEnumerable
से डिब्बाबंद डेटा वापस करने के लिए इनहेरिट करने वाला इंटरफ़ेस मॉकिंग काफी सीधा है। निम्न वर्गों को मानते हुए:
public class DataClass
{
public int Id { get; set; }
}
public interface IEnumerableClass : IEnumerable<DataClass>
{
}
निम्नलिखित दृष्टिकोण लिया जा सकता है। सबसे पहले, एक ऐसी सूची बनाएं जिसमें मॉक द्वारा दी जाने वाली जानकारी होनी चाहिए:
IList<DataClass> list = new List<DataClass>();
for (int i = 0; i < 10; i++)
{
list.Add(new DataClass { Id = 20 + i });
}
इसके बाद IEnumerable
वर्ग का एक नकली बनाएं और सूची के एन्यूमरेटर को वापस करने के लिए अपने GetEnumerator
विधि को सेट करें:
var mock = new Mock<IEnumerableClass>();
mock.Setup(x => x.GetEnumerator()).Returns(list.GetEnumerator());
इसे निम्नानुसार मान्य किया जा सकता है:
int expected = 20;
foreach (var i in mock.Object)
{
Assert.AreEqual(expected++, i.Id);
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow