这可能是一个明显的答案,但我无法弄清楚如何最好地为以下内容创建单元测试:
Assert.AreEqual(27, AgeCalculator.GetAge(new DateTime(1983, 10, 6))); // this test will fail tomorrow
Assert.AreEqual(26, AgeCalculator.GetAge(new DateTime(1984, 11, 14)));
Assert.AreEqual(9, AgeCalculator.GetAge(new DateTime(2002, 05, 7)));
Assert.AreEqual(7, AgeCalculator.GetAge(new DateTime(2003, 11, 03)));
Assert.AreEqual(4, AgeCalculator.GetAge(new DateTime(2007, 05, 10)));
我创建了一个GetAge()方法,我想要一个测试,以确保将来对该方法的任何更改都可以。
答案 0 :(得分:2)
看看following blog post,它是一个很好的series of posts的一部分,用于测试非决定论。
答案 1 :(得分:1)
我会在AgeCalculator
内部模拟日期时间对象,以便它始终使用相同的测试日期。