PowerMock und Java 8 Problem: InterfaceMethodrefInfo kann nicht umgewandelt werden, MethodrefInfo
Im mit Probleme beim Versuch, führen Sie einen unit test mit PowerMock mit Mockito. Ich brauche PowerMockito zu verspotten, eine statische Methode.
Diese sind die Versionen Im Einsatz:
PowerMock 1.6.2
Mockito 1.10.19
JUnit 4.12
Java 8
Wenn ich das hinzufügen der annotation @PrepareForTest(Graph.class) bekomme ich die folgende Fehlermeldung:
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
Habe ich gelesen, die in der offiziellen PowerMock Google Seite dass dieses mit javassist. Aber ich bin ein bisschen verloren, und ich weiß nicht, wie es zu lösen ist.
Nur für den Fall, ich habe auch versucht, den Download der neuesten SNAPSHOT von Powermock (1.6.3-SNAPSHOT) aber hat nicht funktioniert entweder.
Könnte mir jemand helfen, bitte?
Vielen Dank im Voraus
- Auch in den issue-tracker von javassist es wurde ein Fehler im Zusammenhang (issues.jboss.org/browse/JASSIST-220) an, die Ausnahme und Herr Chiba zusammengeführt, einen pull-request auf den 22. Juli 2014 (github.com/jboss-javassist/javassist/pull/11). Mein Erster Vorschlag wäre, um sicherzustellen, dass Sie die neueste version von javassist und wenn das upgrade auf die neueste version.
- bitte hinzufügen, dass der Kommentar, wie Sie Ihre eigene Antwort und es akzeptieren, damit die Frage nicht bleiben unbeantwortet. Danke 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgenden Francisco González Antwort, dies ist, was ich zu tun hatte :
javassist
(e.x. hibernate). Sie müssen entfernen<scope>test</scope>
beim hinzufügenjavassist
Abhängigkeit.Ja, das war das problem. PowerMock ist in Abhängigkeit von javassist, so musste ich nur ausschließen, dass transitive Abhängigkeit in meiner pom und höher enthalten die Abhängigkeit von der Feste version von javassist. Und das funktionierte für mich. Danke!