不同的层次深度使用不同的桩
被测试代码 | 可以进行的操作 | 被测试类 | 工厂 |
---|---|---|---|
层次深度1:类中的FileExtensionManager | 添加一个用作依赖项的构造函数参数。 | 被测试类中的成员是伪造的,其他代码都保持不变 | 无 |
层次深度2:从工厂类返回给被测试代码的依赖项 | 通过设置工厂类的属性,让工厂类返回伪造的依赖项。工厂类中的成员是伪造的 | 被测试类不变 | 设置工厂属性 |
层次深度3:返回依赖项的工厂类 | 把工厂类的实例替换为返回伪造依赖项的伪工厂。工厂是伪造的,并且返回一个伪依赖。 | 被测试类不变 | 伪工厂 |
下面是对上表的解释,添加一个构造函数层的参数会使事情变得复杂,选择第二层在这里是最简单的,因为它对代码改动最小。@H_301_53@