是否有某种方法可以强制DateTime.Now
始终返回DateTime.UtcNow
申请?
- 编辑 我的本意: 我有很大的日期时间 - 非常敏感的应用程序。我不能重写所有地方(耗时)。程序员有时会及时压力忘记使用utcnow。
答案 0 :(得分:0)
我认为最适合您的方法是使用mock在您的应用程序中返回日期时间。
对于单元测试或其他功能,您可以使用自定义DateTime
看看这个:
http://blog.coreycoogan.com/2009/06/07/mocking-datetime-now/
答案 1 :(得分:0)
我无法重写所有地方(耗时)
是的,这需要一分钟(替换文件中的文件)加上您的单元测试,告诉您失败的原因。
另一种方法是搞乱程序新部分的行为,用户可能因任何原因需要当地时间。说真的,坐下来清理程序。
DateTime.Now是静态的,所以它必须采用这种形式,发现这是微不足道的。修复这些情况将是相对的,除了你必须添加诸如输入和输出的转换例程之类的东西 - 你必须在任何情况下都这样做。