У меня есть код ниже в одном из моих методов
ZonedDateTime current = Instant.now().atZone(ZoneId.of(AMERICA_NEW_YORK));
Я хочу имитировать текущий в тесте JUnit.
Я пробовал использовать java.time.Clock, но для этого мне нужно добавить его в конструктор класса, поскольку мой код написан в старых версиях Spring, и при использовании конфигурации на основе XML этот класс вызывает проблему, поскольку для него требуется аргумент конструктора в файле application-context.xml, если я использую конструктор с Clock.
Есть ли способ избежать настройки конструктора и имитации текущего в приведенном выше коде.
Обновить
Согласно комментариям Павла Смирнова, я пробовал ниже, но текущий все еще возвращает сегодняшнюю дату, но не ту, над которой я издеваюсь.
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());
Подробнее здесь: https://stackoverflow.com/questions/552 ... ock-object