【发布时间】:2011-02-23 17:55:21
【问题描述】:
我正在尝试摆脱所有DateTime.Now 方法调用,并用我自己的GetNow() 方法替换它们,该方法有时可能会返回一个固定日期以进行测试。
如何强制以后没有人添加DateTime.Now 调用?我可以使用 NDepend 或 StyleCop 在我的持续集成服务器上进行检查吗?
【问题讨论】:
-
它是
DateTime.Now,就像“它是一个属性”,而不是DateTime.Now(),就像“它是一个函数”一样 -
这是一个有效的问题,但我想知道这个例子的智慧。用有时返回不同时间的代码替换旧的
DateTime.Now?您最好在测试期间调整系统时钟,不是吗? -
为什么你允许我希望只在内部测试期间使用的方法在集成服务器上使用?您应该使用 DateTime.Now 而不是静态方法,如果您忘记实时环境中的某些内容,可能会返回不正确的值。