4
为BCL(或任何图书馆)中的类型成员创建垫片时。我们经常面临一种情况,我们想要调用我们已经使用过的原始方法(无论是在代理内部还是在外部)。例如: -从填充方法调用原始方法
System.Fakes.ShimDateTime.NowGet =() => DateTime.Now.AddDays(-1);
在上面的代码,所有我们想要做的时候DateTime.Now被称为是返回每天比实际日期少。也许这看起来像一个人为的例子,所以其他(更多)现实场景是
- 为了能够捕获和验证传递给特定方法的参数值。
- 为了能够统计被测代码访问特定方法/属性的次数。
我面对实际应用程序中的最后一个场景,无法找到SO上的Fakes的答案。但是,在深入了解Fakes文档后,我找到了答案,并将其与社区问题一起发布。