想象一下以下课程:
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
作为参数传递。
有没有办法对这种方法进行单元测试?
答案 0 :(得分:1)
要么ClassC
注入ClassToBeTested
,要么依赖于在运行时创建它,注入某种工厂说ClassCFactory
然后你就可以嘲笑工厂了。 / p>