【发布时间】:2013-07-03 13:10:41
【问题描述】:
您将如何测试与时间相关的方法?
一个简单的例子可以是:
public static int GetAge(DateTime birthdate)
{
// ...
}
[TestMethod]
public void GetAgeTest()
{
// This is only ok for year 2013 !
Assert.AreEqual(GetAge(new DateTime(2000, 1, 1)), 13);
}
问题在于它仅适用于当前年份(在本例中为 2013 年)。新的一年一开始,我就得重写所有依赖时间的测试......
对这种方法进行单元测试的最佳方法是什么?
【问题讨论】:
-
查看 VitualTime ,它简化了依赖于时间的应用程序的单元测试,示例在这里 stackoverflow.com/questions/2425721/unit-testing-datetime-now/…
标签: c# .net unit-testing