Java - PowerMock and Java 8 issue: InterfaceMethodrefInfo cannot be cast to MethodrefInfo
I´m having issues while trying to execute a unit test using PowerMock with Mockito. I need PowerMockito to mock an static method.
These are the versions I´m using:
PowerMock 1.6.2 Mockito 1.10.19 JUnit 4.12 Java 8
When I add the annotation @PrepareForTest(Graph.class) I get the following error:
java.lang.IllegalStateException: Failed to transform class with name name.of.my.package.GraphUtil. Reason: javassist.bytecode.InterfaceMethodrefInfo cannot be cast to javassist.bytecode.MethodrefInfo
I have read in the official PowerMock Google page that this is related to javassist. But I´m a bit lost and I don´t know how to fix it.
Just in case, I also tried downloading the latest SNAPSHOT of Powermock (1.6.3-SNAPSHOT) but did not work either.
Could anyone help me, please?
Thanks in advance
There are 4 suggested solutions here and each one has been listed below with a detailed description. The following topics have been covered briefly such as Java, Powermock, Javassist. These have been categorized in sections for a clear and precise explanation.