我有一个我想模拟的依赖项。
public abstract class MyDependency
{
protected Dictionary<string, object> _outputs = new Dictionary<string, object>();
public Dictionary<string, object> Outputs
{
get
{
return _outputs;
}
}
}
出于单元测试的目的,我需要公共属性Outputs
返回一个已知值。我知道我们不能模拟字段或非虚拟成员。所以,我可以去创建我自己的模拟MyDependency
来设置支持字段_outputs
:
public class MockMyDependency : MyDependency
{
public MockMyDependency()
{
_outputs = new Dictionary<string, object>
{
{ "key", "value" }
};
}
}
但是,是否可以在不显式创建我自己的派生模拟类的情况下使用 Moq 来执行此操作?