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
Following Francisco González's answer, this is what I had to do :
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.5.5</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
<scope>test</scope>
</dependency>
Yes, that was the problem. PowerMock has a dependency to javassist, so I just had to exclude that transitive dependency in my pom and later include the dependency to the fixed version of javassist. And that worked for me. Thanks!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With