আমার একটি ইউনিট পরীক্ষা আছে যেখানে আমাকে একটি নন-ভার্চুয়াল পদ্ধতিটি উপহাস করতে হবে যা একটি বুল টাইপ দেয়
public class XmlCupboardAccess
{
public bool IsDataEntityInXmlCupboard(string dataId,
out string nameInCupboard,
out string refTypeInCupboard,
string nameTemplate = null)
{
return IsDataEntityInXmlCupboard(_theDb, dataId, out nameInCupboard, out refTypeInCupboard, nameTemplate);
}
}
সুতরাং আমার কাছে XmlCupboardAccess
ক্লাসের একটি মক অবজেক্ট রয়েছে এবং আমি নীচের মত আমার পরীক্ষার ক্ষেত্রে এই পদ্ধতির জন্য মক সেটআপ করার চেষ্টা করছি
[TestMethod]
Public void Test()
{
private string temp1;
private string temp2;
private Mock<XmlCupboardAccess> _xmlCupboardAccess = new Mock<XmlCupboardAccess>();
_xmlCupboardAccess.Setup(x => x.IsDataEntityInXmlCupboard(It.IsAny<string>(), out temp1, out temp2, It.IsAny<string>())).Returns(false);
//exception is thrown by this line of code
}
তবে এই রেখাটি ব্যতিক্রম ছুঁড়েছে
Invalid setup on a non-virtual (overridable in VB) member:
x => x.IsDataEntityInXmlCupboard(It.IsAny<String>(), .temp1, .temp2,
It.IsAny<String>())
এই ব্যতিক্রমটি পেতে কীভাবে কোনও পরামর্শ?
virtual
। মোখ কোনও কংক্রিটের ধরণটিকে উপেক্ষা করতে পারে না তা উপহাস করতে পারে না।
XmlCupboardAccess
কি?