Все довольно просто.Когда вы перемещаете ожидаемую инициализацию LocalDate в после пересмешивания LocalDate.class, тогда класс уже смоделирован, глобально, как при каждом обращении к классу.Это означает, что это не дает вам реальную реализацию Java.Это означает, что вы не можете получить реальную реализацию Java LocalDate.of (2017, 10, 13) на java, потому что в этот момент вы переопределили класс с поддельной версией.
Можно ли улучшить тест?Да, не используйте Powermock.
Использование powermock считается плохой практикой, если вы можете его избежать.Это длинная история, и я не уверен, что это место, чтобы объяснить все это.Краткая версия: если вы не используете power mock, вам придется сделать свой код более гибким.Powermock позволяет вам обманывать, а не делать ваш код гибким.Когда вы используете Power Mock, вы не получаете такое же поведение во время теста и производственного кода.
Прочтите здесь для получения дополнительной информации: Почему бы не PowerMock