对于单元测试,如何模拟使用工厂的类的依赖关系。
例如,如果我有以下类:
public class SignalProcessor
{
ISignalFilter signalFilter;
public SignalProcessor()
{
this.signalFilter = SignalFilterFactory.GetInstance();
}
}
现在在SignalProcessor的单元测试中,我想模拟出ISignalFilter,即使用ISignalFilter的测试版本。如果我使用Dependency Injection而不是Factory,那么我可以将TestSignalFilter传递给SignalProcessor构造函数。但是我如何在工厂案例中嘲笑ISignalFilter?
答案 0 :(得分:0)
注入依赖项:
public class SignalProcessor
{
ISignalFilter signalFilter;
public SignalProcessor() : this(SignalFilterFactory.GetInstance()) {}
public SignalProcessor(ISignalFilter filter)
{
this.signalFilter = filter;
}
}