【发布时间】:2012-11-17 09:54:18
【问题描述】:
是否可以在 .NET 中将系统时间设置为正确的服务器时间?我有一个弄乱系统时间的测试用例,我想在测试用例的拆解中恢复它。 是否可以通过编程方式恢复正确的时间(例如从服务器)?
注意:单元测试和验收测试都需要这个。注入假时间不适用于后者。
【问题讨论】:
-
这里讨论了一种在单元测试中处理时间的更简洁的方法:ayende.com/blog/3408/dealing-with-time-in-tests
-
在你的代码中抽象时间的概念,然后在你的单元测试中使用一个存根来提供你需要的任何时间,这可能更容易和更安全。例如。
interface ITimeSource { DateTime Now { get; } }. -
@MartinLiversage 我还需要做验收测试,我仍然需要操纵系统时间。
标签: c# .net unit-testing datetime testing