Wie rufe ich die populateMapWithFormattedDates-Methode in JUnit auf und wie schreibe ich JUnit populateMapWithFormattedDates für diese Methode. Ich weiß nicht, wie man JUnit für verschachtelte Methoden schreibt, also bitte helfen.Wie schreibe ich Junit für diesen Code?
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));
}
Wenn Sie wissen, was 'private' Stichwort tut, müssen Sie Sie wissen, dass Sie 'populateMapWithFormattedDates' in Ihrer Testklasse nicht aufrufen können. Sie müssen Tests für 'populateDispatch' schreiben, die alle von ihr aufgerufenen privaten Methoden testen. – Mritunjay
Die Theorie, die ich bevorzuge, ist, dass Unit-Tests das öffentlich sichtbare Verhalten einer Klasse testen sollten, was bedeutet, dass man Unit-Tests für private Methoden nicht schreiben sollte. – ajb