所以我有我給他一天的樣品的方法中,它返回我一個星期的第一天和最後一天,其中一天:我需要測試方法是測試類
public static final DatePeriod thisWeek(LocalDate date) {
TemporalField dayOfWeek = WeekFields.of(Locale.FRANCE).dayOfWeek();
LocalDate mon = date.with(dayOfWeek, 1);
LocalDate sun = date.with(dayOfWeek, 7);
return new DatePeriod(mon, sun);
}
我必須寫一個JUnit測試(我做到了):所以
@Test
public void testThisMonth_LocalDate() throws ParseException {
System.out.println("thisMonth");
for (String[] date : VALID_TEST_DATES) {
LocalDate dateLocal = dateToLocal(date[0]);
DatePeriod expResult = new DatePeriod(dateToLocal(date[5]), dateToLocal(date[6]));
DatePeriod result = JavaTimeUtils.thisMonth(dateLocal);
assertEquals(expResult.getLeft(), result.getLeft());
assertEquals(expResult.getRight(), result.getRight());
}
}
,因爲我在dateToLocal()多次使用的代碼,我決定把它的方法是這樣的:
public LocalDate dateToLocal(String dateString) throws ParseException { // Calendar to LocalDate
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Calendar cal = Calendar.getInstance();
Date initDate = df.parse(dateString);
cal.setTime(initDate);
LocalDate dateLocal = LocalDate.of(cal.get(Calendar.YEAR), Month.of(cal.get(Calendar.MONTH)+1), cal.get(Calendar.DAY_OF_MONTH));
return dateLocal;
}
它的工作原理。 但這不是我的問題。 我在想這是正確的方法做這樣的事情(在這個JUnit測試中的方法),我需要爲這個方法做測試,我必須在其他類(測試之外)中移動它嗎?我知道這是一個奇怪的問題,我已經在谷歌搜索,失敗。 (也許我不能問谷歌的權利)。 謝謝:)
我很感激所有的迴應,但是你確切的是我正在尋找。 –