您将如何测试与时间相关的方法?
一个简单的例子可能是:
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 年)。新的一年一开始,我就必须重写所有时间相关的测试......
单元测试这种方法的最佳方法是什么?