是否有可能将Moq对象传递给c#类构造函数?
本文关键字:构造函数 有可能 Moq 对象 是否 | 更新日期: 2023-09-27 18:13:20
我有一个MyClass类,它在构造函数中接收一个TheirClass的实例。MyClass在MyMethod函数中使用实例的属性值,如下所示
public class MyClass
{
ITheirClass theirClass;
public MyClass( ITheirClass TheirClass)
{
theirClass =TheirClass;
}
public MyMethod ()
{
if (theirClass.TheirProperty) return;
}
}
我想为MyClass和MyClass创建一个单元测试。MyMethod函数。我创建了一个像这样的Moq对象
var MoqTheirClass = new Mock<ITheirClass>();
MoqTheirClass.SetupGet(p => p.TheirProperty).Returns(false);
但是,MoqTheirClass对象不能转换为ITheirClass类型,我不能将它传递给MyClass构造函数。
问题是我如何用预设的TheirClass创建一个Moq TheirClass对象。他们的属性值并传递给MyClass构造函数?
还有其他方法来单元测试MyClass吗?MyMethod函数?
您需要像这样从MoqTheirClass
对象传入Object
属性:
MyClass myClass = new MyClass(MoqTheirClass.Object);