我们有一个 DateTime 服务,当我们需要使用日期时,它会拉下数据库日期。现在,如果我想使用 FitNesse 使用“今天”日期运行测试,创建 (OurService).CurrentDate 静态的最简单方法是什么?
我们有一个控件,可以将天、年或月广告到当前日期。我希望能够对此进行测试。
谢谢!
在您的代码中,添加一个从“某处”提取日期的方法(“某处”是一个实现细节)。例如,在我的代码中:
public class X {
Date now = new Date ();
}
替换为:
public class X {
Date now = now ();
protected Date now () { return new Date (); }
}
我现在可以在我的测试中扩展 X 以覆盖now()
返回固定日期的内容。
还要添加一个调用原始实现但忽略结果的测试(好吧,您可以检查结果是否在“现在”的范围内)。这个测试只是确保旧的日期拉取代码继续工作。