jUnit 4.5 테스트에서 현재 시간을 조작 할 수있는 방법이 있습니까? 내가 쉽게 테스트 할 수 있도록 내가단위 테스트에서 현재 시간을 조작 하시겠습니까?
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);
}
한 가지 방법에 대한 단위 테스트를하고 싶습니다 다음과 같은 방법을 두 가지 방법
나를을 테스트 할 수 있습니다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);
}
으로 분할하는 것입니다 week 빼기 로직을 사용하지만, getLastWeek는 테스트되지 않은 상태로 남겨 두었고,이를 위해 한 가지 방법을 선호합니다.
두 가지 다른 매개 변수 목록을 사용하는 것만으로도 하나의 방법 일뿐입니다. – guerda