PowerMock Mockito [PowerMockito] @PrepareForTest -> java.lang.NoClassDefFoundError: javassist/NotFoundException
Ich versuche, mein 1. PowerMockito [PowerMock + Mockito] mock in eine bestehende JUnit-test.
Habe ich eingegrenzt, dass wenn ich einfach nur das Vorhandensein der class-level annotation @PrepareForTest
(zusammen mit @RunWith(PowerMockRunner.class)
, aber nicht jede tatsächlichen mocking-code), bekomme ich java.lang.NoClassDefFoundError: javassist/NotFoundException
: Wenn ich kommentiere die @PrepareForTest
sowie auch alle aktuellen Spott-code zu beseitigen störvariablen, dass Fehler nicht passieren, wenn ich die UN-Kommentar nur die @PrepareForTest
, dann ist der Fehler passiert. Also ich glaube, dass grenzt das problem auf, nur das zu machen mit dem Versuch, verwenden Sie die annotation...
Ich habe diese Gläser auf meinen buildpath: junit-4.11.jaar, junit-addons-1.4.jar, mockito-all-1.9.5.jar, mockito-all-1.9.5-sources.jar, powermock-mockito-1.5.4-full.jar.
Den powermock-mockito-1.5.4-full.jar ist der einzige neue, die ich Hinzugefügt, um zu versuchen, aus PowerMockito (aus https://code.google.com/p/powermock/wiki/Downloads?tm=2): Es gibt mir alles weitere muss ich schreiben, die neuen PowerMockito Spott code ohne Eclipse kompilieren Fehler. (Ich hatte bereits die anderen genannten ars von früheren JUnit & Mockito [allein, kein PowerMockito] tests),
Was könnte ich falsch gemacht zu bekommen, dass die Fehler?
InformationsquelleAutor cellepo | 2014-04-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Diese ziemlich viel geholfen, mich es herausfinden)
Ziemlich einfache Lösung (hatte ich fast schon, es richtig zu beginnen): ich war fehlen ein paar PowerMockito Abhängigkeit Gläser (aus https://code.google.com/p/powermock/wiki/Downloads?tm=2): Insbesondere {cglib-nodep-2.2.2.jar, javssist-3.18.1-GA.jar, objenesis-2.1.jar}.
War es eine einfache Lösung, und ein bisschen dumm, Fehler zu beginnen mit der 1. Stelle, da, powerMock googleCode download-Seite hat Sie alle: Beim 1., wenn ich das problem hatte, hatte ich nur heruntergeladen und Hinzugefügt powermock-mockito-1.5.4-full.jar; ich hatte bereits die JUnit & Mockito Gläser, so dass ich denke, dass 3-er set lassen Sie mich schreiben, PowerMock code ohne Kompilierungsfehler in Eclipse. Die googlecode-download-Seite hat die powermockito jar + Abhängigkeiten in ein zip, aber Sie sagte powerockito jar Datei auch allein. Diese situation machte es irgendwie schwer zu erkennen, ich fehlte einige andere, da es schien, hatte ich alles was ich brauche aus dieser Perspektive (dachte, ich hatte bereits die Abhängigkeiten, die ich brauchte, pro meine vorhandene JUnit und Mockito-Gläser).
In der Aktualität, der Reißverschluss mit Abhängigkeiten hatte, die zusätzliche, die ich brauchte, um das problem zu lösen. Ich sollte haben doppelt überprüft, dass 1., aber wusste nicht, das ich gemacht, das Gegenteil schlechte Annahme.
Also... die Antwort ist stellen Sie sicher, um die zip mit allen Abhängigkeiten [, und fügen Sie Sie alle zu Ihrem buildpath].
Irgendwie offensichtlich und dumm in meinem Teil am Ende, aber hey, eine Menge software-Fehler und Probleme am Ende als das: Einfach schlechte Annahmen oder übersehen details, die wir nicht erkennen, wir aus, und nehmen deshalb eine Weile, um zu realisieren, bei der Problembehandlung...
InformationsquelleAutor cellepo
Waren wir immer, dies mit einer unserer ant junit Ziele, war die Verwendung von PowerMock 1.5.5. Das Problem ist, in unserem Fall, war die falsche version von javassist wurde auf die ant-junit-task-classpath.
PowerMock 1.5.5, nach dieser link aus der mvn rep, hat eine Abhängigkeit auf javassist 3.18.2-GA
Sobald wir Feste.. alle unsere Spott Spaß begann!
InformationsquelleAutor johnm
War ich in letzter Zeit versucht zu laufen, Mockito Beispiele und dann nicht zu liefern Sie alle Jar-Dateien.
Dieser link enthält links für die nötigen Programme.
https://github.com/jayway/powermock/wiki/Downloads
Verwenden Sie unten für Mockito und PowerMock Kombination.
powermock-mockito-junit-1.6.3.jar
InformationsquelleAutor Vicky