¿Hay alguna forma de manipular la hora actual en una prueba jUnit 4.5? Tengo el siguiente método que me gustaría tener una prueba de unidad demanipular la hora actual en pruebas unitarias?
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);
}
Una forma de hacerlo más fácil de probar es dividirlo en dos métodos
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);
}
que me permite probar el la lógica de resta de semana, pero deja getLastWeek sin probar y prefiero tener solo un método para esto.
Acutally, es solo un método, solo con dos listas de parámetros diferentes :) – guerda