Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用MOQ模拟构造函数_C#_Moq - Fatal编程技术网

C# 用MOQ模拟构造函数

C# 用MOQ模拟构造函数,c#,moq,C#,Moq,我有一个B类,其构造函数参数的类型为class a 我希望在为类B创建模拟时模拟类A 我该怎么做?我尝试过放松/严格的行为,但这没有帮助 如果您正在模拟类,则可以在调用new Mock时传入构造函数参数: 因此,如果你有这些课程: public class A {} public class B { private readonly A a; public B(A a) { this.a = a; } } 以下代码使用模拟a创建模拟B: var mockA = new Mo

我有一个B类,其构造函数参数的类型为class a

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


我该怎么做?我尝试过放松/严格的行为,但这没有帮助

如果您正在模拟类,则可以在调用
new Mock
时传入构造函数参数:

因此,如果你有这些课程:

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);
var mockA=new Mock();
var mockB=新的Mock(mockA.Object);

在TypeMock构造函数中是否不能说like.Mocked?@Elisa我对TypeMock不太熟悉,但如果我正确理解了这个构造函数。Mocked功能,那么您就无法使用Moq来实现这一点。例如,它不能模拟构造函数或编写构造函数调用的预期。我提到的原因是我想通过说var mockB=new mock(constructor.Mocked)来保存mockA对象的创建。这样我就不必创建mockA:)