【发布时间】:2014-03-02 01:21:20
【问题描述】:
下面是我的方法,它以YYYYMMDD 的格式为我提供最近的Monday 或最近的Thursday 的日期。
今天是星期六,所以它应该以 YYYYMMDD 的格式返回星期四的日期,所以它将是 - 2014027
public static String getDate() {
Calendar cal = Calendar.getInstance();
try {
int dow = cal.get(Calendar.DAY_OF_WEEK);
switch (dow) {
case Calendar.THURSDAY:
case Calendar.FRIDAY:
case Calendar.SATURDAY:
case Calendar.SUNDAY:
while (cal.get(Calendar.DAY_OF_WEEK) != Calendar.THURSDAY) {
cal.add(Calendar.DATE, -1);
}
break;
case Calendar.MONDAY:
case Calendar.TUESDAY:
case Calendar.WEDNESDAY:
while (cal.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
cal.add(Calendar.DATE, -1);
}
break;
}
} catch (Exception ex) {
// log error
}
return toDateFormat.format(cal.getTime());
}
所以我的问题是,我如何模拟 Calendar getInstance 方法以便我可以轻松地 junit getDate 方法?我以前从未嘲笑过它,所以我遇到了一些问题?
如果可能的话,谁能在我的例子中提供一个简单的例子?
【问题讨论】:
标签: java unit-testing junit mockito powermock