У меня есть код ниже в одном из моих методов -
ZonedDateTime current = Instant.now().atZone(ZoneId.of(AMERICA_NEW_YORK));
Я хочу высмеять current
в тесте junit.
Я пытался с java.time.Clock
, но для этого мне нужно добавить его в конструктор класса, так как мой код записан в старых версиях Spring и при использовании конфигурации на основе xml этот класс вызывает проблему, потому что он требует аргумент конструктора в application-context.xml файл, если я использую конструктор с Clock
.
Есть ли способ избежать конфигурации конструктора и макета current
в приведенном выше коде.
Обновление
Согласно комментариям Павла Смирнова, я попробовал ниже, но current
все еще возвращает сегодняшнюю дату, но не ту, над которой я издеваюсь.
ZonedDateTime exactOneDay = ZonedDateTime.parse("Sun Oct 21 12:30:00 EDT 2018", Parser);
doReturn(exactOneDay).when(spyEmployeeHelper).getCurrentTime();
employee = getEmployees().get(0);
assertEquals(Integer.valueOf(1), employee.getNoticePeriod());