鉴于以下条件:
- 一个非常古老的大型 C# 遗留代码库,没有任何测试覆盖
- (几乎)每个类都派生自某个接口
- 没有什么是密封的
与使用 extract&override + 例如 RhinoMocks 相比,使用 Profiler-API 驱动的解决方案(如 JustMock 和 TypeMock)有哪些实际好处?有没有我不知道的情况,除了规避私有/受保护之外,真的需要使用 TypeMock/JustMock 等吗?我特别欢迎人们从已经改用其中一种产品的人那里获得一些经验。
使用 extract&override 似乎可以解决处理旧代码时的所有问题,重构似乎非常简单,并且引入错误的可能性似乎很小。减少测试代码的好处是什么?更漂亮的课程,更少的虚拟保护内容?现在,我不“明白”,尽管我知道首先单独测试私有方法非常有帮助,因为在这些旧的遗留代码库中,公共方法可能太大了。
如果您不知道什么是 extract&override:请参见此处。