使用MOQ模拟构造函数

时间:2013-03-14 21:33:22

标签: c# moq

我有一个B类,其构造函数参数类型为Class。

我希望在为B类创建模拟时模拟A类。

我该怎么做?我试过MockBehavior Loose / Strict,但这没有帮助!

1 个答案:

答案 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);