如何使用本地实例测试方法?

时间:2017-12-15 19:03:55

标签: c# unit-testing moq

想象一下以下课程:

class ClassToBeTested{
    private IClassA a;
    private IClassB b;

    public ClassToBeTested(IclassA a, IClassB b)
    {
        this.a = a;
        this.b = b;
    }

    public void MethodToBeTested()
    {
         //...
         var c = new ClassC(a, b);
         c.doSomeThing();
         //...
    }
}

我想为MethodToBeTested做一些单元测试。但是,如果不进行依赖注入,我找不到moq ClassC对象的方法。我不想更改方法签名并将ClassC作为参数传递。

有没有办法对这种方法进行单元测试?

1 个答案:

答案 0 :(得分:1)

要么ClassC注入ClassToBeTested,要么依赖于在运行时创建它,注入某种工厂说ClassCFactory然后你就可以嘲笑工厂了。 / p>