我有这门课:
public class BaseFoo
{
public bool BoolProp { get; set; }
}
public interface IFoo {
void Method();
}
public class FooClass : BaseFoo, IFoo
{
public void Method()
{
// DoSomething
}
}
public class MyClass
{
IFoo foo; //
public MyClass(IFoo foo)
{
this.foo = foo;
}
public void DoSomething()
{
if (((FooClass)foo).BoolProp)
{
// yeah
}
else
{
//bad
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的情况是:
void main()
{
MyClass obj = new MyClass(new FooClass());
obj.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
我想为IFoo接口创建一个模拟对象,它允许我模拟BaseFoo类,因为我需要总是避免运行"if(((FooClass)foo).BoolProp)"的"else"分支. MyClass.DoSomething()方法. …