我有一个B类,其构造函数参数类型为Class。
我希望在为B类创建模拟时模拟A类。
我该怎么做?我试过MockBehavior Loose / Strict,但这没有帮助!
答案 0 :(得分:18)
如果您正在模拟类,则可以在调用new Mock<T>
时传递构造函数参数:
所以如果你有这些课程:
public class A {}
public class B
{
private readonly A a;
public B(A a) { this.a = a; }
}
以下代码使用模拟A:
创建模拟B.var mockA = new Mock<A>();
var mockB = new Mock<B>(mockA.Object);