我为使用MOQ和NUnit进行测试的方法创建了Test。要测试的方法将是使用该相应类的对象的另一种方法。当我尝试模拟被调用的方法时,我无法调用模拟的方法。如何模拟此方法,因为我的测试方法正在使用其他所说的方法。请帮助我。
public DataSet ExecuteCondition()
{
var ObjClass1 = new Class1();
....
var result = ObjClass1.VerifyPrecondition(query);
....
}
public class Class1:IClass1
{
public string VerifyPrecondition(string query)
{
....
return text;
}
}
答案 0 :(得分:1)
所以,我想这应该像这样:
具有ExecuteCondition()方法的类:
public class DataClass
{
private readonly IClass1 _class1;
public DataClass(IClass1 class1)
{
_class1 = class1;
}
public DataSet ExecuteCondition()
{
//....
var result = _class1.VerifyPrecondition(query);
//....
}
}
测试:
[Test]
public void Test()
{
var mockClass1 = new Mock<IClass1>();
mockClass1.Setup(x => x.VerifyPrecondition(It.IsAny<string>())).Returns("test");
var dataClass = new DataClass(mockClass1.Object);
dataClass.ExecuteCondition();
//Assert
}