Gibt es eine Möglichkeit, die aktuelle Zeit in einem jUnit 4.5 Test zu manipulieren? Ich habe die folgende Methode, die Ich mag würde füraktuelle Zeit im Komponententest manipulieren?
public String getLastWeek() {
GregorianCalendar c = new GregorianCalendar(TimeZone.getTimeZone("Europe/Stockholm"));
c.setFirstDayOfWeek(GregorianCalendar.MONDAY);
c.add(GregorianCalendar.WEEK_OF_YEAR, -1);
return c.get(GregorianCalendar.YEAR) + " " + c.get(GregorianCalendar.WEEK_OF_YEAR);
}
Eine Möglichkeit, eine Unit-Test haben, um es einfacher zu machen, testen Sie es in zwei Verfahren
public String getLastWeek() {
GregorianCalendar c = new GregorianCalendar(TimeZone.getTimeZone("Europe/Stockholm"));
return getLastWeekFor(c);
}
public String getLastWeekFor(GregorianCalander c) {
c.setFirstDayOfWeek(GregorianCalendar.MONDAY);
c.add(GregorianCalendar.WEEK_OF_YEAR, -1);
return c.get(GregorianCalendar.YEAR) + " " + c.get(GregorianCalendar.WEEK_OF_YEAR);
}
aufzuspalten, die mir die testen können Wochen-Subtraktionslogik, aber lässt getLastWeek nicht getestet und ich bevorzuge nur eine Methode dafür.
Eigentlich ist es nur eine Methode, nur mit zwei verschiedenen Parameterlisten :) – guerda