想象以下类:
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
,则可以模拟出厂。