0

对于单元测试,我如何模拟使用工厂的类的依赖项。

例如,如果我有以下课程:

public class SignalProcessor
{
  ISignalFilter signalFilter;

  public SignalProcessor()
  {
     this.signalFilter = SignalFilterFactory.GetInstance();
  }
}

现在在 SignalProcessor 的单元测试中,我想模拟 ISignalFilter,即使用 ISignalFilter 的测试版本。如果我使用依赖注入而不是工厂,那么我可以将 TestSignalFilter 传递给 SignalProcessor 构造函数。但是如何在工厂案例中模拟 ISignalFilter 呢?

4

1 回答 1

0

注入依赖:

public class SignalProcessor
{
  ISignalFilter signalFilter;

  public SignalProcessor() : this(SignalFilterFactory.GetInstance()) {}

  public SignalProcessor(ISignalFilter filter)
  {
     this.signalFilter = filter;
  }
}
于 2013-07-29T00:34:22.733 回答