小编Mau*_*chi的帖子

如何模拟扩展类并实现接口的对象?

我有这门课:

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()方法. …

c# nunit unit-testing mocking

4
推荐指数
1
解决办法
634
查看次数

标签 统计

c# ×1

mocking ×1

nunit ×1

unit-testing ×1