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



想象以下类:

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进行一些单位测试。但是,如果没有依赖注入,我找不到一种方法ClassC对象的方法。我不想更改方法签名并将ClassC作为参数传递。

是否有办法测试此方法?

ClassC中注入到 ClassToBeTested中,或者如果您依靠在运行时创建它,则在某种出厂内注入ClassCFactory,则可以模拟出厂。

<</p>