我写了一个 Date 类,它在考虑闰年的情况下添加/减去天/月/年。我现在需要用硬编码数据编写一个测试程序来测试我的实现。最简单的方法是创建一个“参考”日期,然后有一个循环将其向前推进一天,例如 3 年期间(包括闰年),然后将参考日期与其他日期一起打印出来从它相对构造的日期。我没有很多Java经验,所以我想知道我将如何实际做到这一点?
问问题
354 次
2 回答
2
您实际上不需要测试所有这些情况。想想代表一个集合的测试用例。
即,测试给定日期和后一天是没有意义的,因为内部的行为是一样的(除非我们谈论的是二月,每四年多一天)。
尝试为每个案例设计一个测试。例如,我会测试一个随机日期,一个月有 31 天,另一个有 30 天,二月作为特例,如果将 anull
传递给函数会发生什么。
这样,如果出现问题,您将很容易知道发生了什么。
于 2015-02-26T12:12:36.363 回答
1
通过添加 1 天来循环遍历日期是可行的,但在我看来这很复杂。有几个例子就足够了:
(伪代码)闰年
// assuming 1996-02-28 is a leap year which i have not verified
MyDate feb28th = createDate("1996-02-28");
feb28th.addDays(1);
AssertEquals("1996-02-29", feb28th.toString());
(伪代码)非闰年
MyDate feb28th = createDate("1997-02-28");
feb28th.addDays(1);
AssertEquals("1997-03-01", feb28th.toString());
也许您还需要针对每种特殊情况进行一次测试,例如
- “不是每 400 年”
于 2015-02-26T12:16:51.393 回答