PowerMockito и Java 8 ZonedDateTime toInstant() не найдены
Вэнь я запускаю свои тесты:
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyStuff.class)
public class MyStuffTest { ..whatever
После того как я добавил класс ZonedDateTime
к этому коду, он обнаружил ошибку со следующей ошибкой:
java.lang.IllegalStateException: не удалось преобразовать класс с именем Причина MyCode: [исходная ошибка] toInstant() не найдена в java.time.ZonedDateTime
Где-то в моем коде есть:
long longTimeNoSee = ZonedDateTime.parse(getateTimeString()).toInstant().toEpochMilli();
Я предполагаю, что это ошибка в powermock
. Но, возможно, у кого-то появилась идея (?)
Ответы
Ответ 1
Кажется, это ошибка в Powermock. См.
https://github.com/jayway/powermock/issues/557
Возможно, вы захотите добавить свои примеры и проголосовать за эту проблему.
ОБНОВЛЕНИЕ: Согласно Powermock, это кажется проблемой в javassist: https://github.com/jboss-javassist/javassist/issues/43
Ответ 2
У меня была такая же проблема. Исправлено с помощью функции Instant.from().
Поэтому в вашем случае ниже должно работать:
ZonedDateTime.parse(Instant.from(getateTimeString())) toEpochMilli();.