如何使用Moq有能力使用模拟对象的方法操作
本文关键字:对象 方法 操作 模拟 何使用 Moq 有能力 | 更新日期: 2023-09-27 18:13:38
我有一个实例化的构造函数在测试:
public class Car{
public string Method()
{
return "test";
}
}
private readonly ICar _classUnderTest;
public CarTests()
{
var collaboratingClass = new CollaboratingClass();
_classUnderTest = new Car(collaboratingClass );
}
如果我使用moq并像这样传递模拟实例:
var collaboratingClass = new Mock<ICollaboratingClass>();
_classUnderTest = new Car(collaboratingClass .Object);
…那么我就不能调用方法了。这个模拟实例中的方法没有被调用,所以我不能用它进行计算。如何使我的模拟对象能够访问方法并对模拟对象进行操作?
正如你所看到的,我不想在这里有具体的依赖
您可以假装返回到您的模拟类方法。如果您需要依赖项中的行为,则它不再是单元测试