如何在JUnit中調用populateMapWithFormattedDates方法以及如何爲此方法編寫JUnit populateMapWithFormattedDates。我不知道如何爲嵌套方法編寫JUnit,因此非常有幫助。如何爲此代碼編寫junit?
protected Map<String, String> populateDispatch(final RequestDispatchData requestDispatchData)
{
final Map<String, String> map = getDispatchFieldMapper().populateMapper(requestDispatchData);
populateMapWithFormattedDates(requestDispatchData, map);
}
private void populateMapWithFormattedDates(final RequestDispatchData requestDispatchData, final Map<String, String> map)
{
String dateFormatted = map.get("ticket_date");
Date date = null;
try
{
date = new SimpleDateFormat("MM/dd/yy").parse(dateFormatted);
}
catch (ParseException parseException)
{
customLogger.logMessage(diagnosticMethodSignature, DiagnosticType.EXCEPTION,
"Exception in parsing start date of ticket " + parseException);
}
map.put("startDateDDMMYY", DateEnum.DDMMYY.getFormattor().format(date));
map.put("startDateDDMMMYY", DateEnum.DDMMMYY.getFormattor().format(date));
map.put("startDateDMY", DateEnum.DMY.getFormattor().format(date));
map.put("startDateYYMMDD", DateEnum.YYMMDD.getFormattor().format(date));
}
如果你知道什麼'private'關鍵字做,你必須知道你將無法在你的測試類中調用'populateMapWithFormattedDates'。你需要爲'populateDispatch'編寫測試,測試它所調用的所有私有方法。 – Mritunjay
我更喜歡的理論是單元測試應該測試一個類的公開可見的行爲,這意味着你不需要爲私有方法編寫單元測試。 – ajb