Powermock-gesteuerte Tests laufen gut über Maven, aber nicht in Intellij

Vitaliy

Ich habe ein sehr großes Projekt, in dem Entwickler irgendwann bemerkten, dass sie beim Versuch, einen PowerMock-gesteuerten Test in Intellij auszuführen, den folgenden Fehler erhalten:

java.lang.NoClassDefFoundError: org/powermock/core/transformers/impl/MainMockTransformer
FATAL ERROR in native method: processing of -javaagent failed
    at org.powermock.modules.agent.PowerMockClassTransformer.<clinit>(PowerMockClassTransformer.java:41)
    at org.powermock.modules.agent.PowerMockAgent.<clinit>(PowerMockAgent.java:42)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
    at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.ClassNotFoundException: org.powermock.core.transformers.impl.MainMockTransformer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 8 more

Wir verwenden den Powermockagent und ein Unit-Test sieht normalerweise so aus:

@PrepareForTest({Bla.class})
public class BlaTest {

    @Rule
    public PowerMockRule rule = new PowerMockRule();

    static {
        PowerMockAgent.initializeIfNeeded();
    }

    @Test public void test() { ... }
 }

Interessanterweise verschwindet das Problem , wenn ich dynamic.path deaktiviere , aber ich betrachte es als Problemumgehung und nicht als Lösung, da ich den dynamic.path in anderen Szenarien benötige.

Powermock-Version: 1.6.3 | Junit-Version: 4.11 | Intellij-Version: 2016.3

Ich werde mich über Erkenntnisse freuen.

Vitaliy

Es stellte sich heraus, dass dies ein bekanntes Problem ist. Die Problemumgehung bestand darin, die Eigenschaft idea.dynamic.classpath.jar in IDEA_CONFIG / options / options.xml auf true zu setzen.

Beachten Sie, dass es aufgrund eines anderen bekannten Problems zunächst auf false gesetzt wurde .

Das ist ziemlich umständlich, aber das Beste, was es derzeit gibt (März 2017).

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Die Spring Boot-Anwendung läuft gut über Maven, aber nicht über IDE Intellij IDEA

JUnit 5-Tests in Maven Project funktionieren in IntelliJ, aber nicht über die Befehlszeile

Goland zeigt den nicht aufgelösten Typ an (Instanz, speziell in der GCE-Bibliothek), aber Kern/Tests laufen gut (Lösung "Invalidieren und Neustart" funktioniert hier nicht)

Die Tests laufen nicht durch Maven?

Unit-Tests funktionieren gut mit Maven, werden jedoch nicht ausgeführt, wenn sie mit IntelliJ verwendet werden

Das Skript läuft gut, kann aber pytest nicht zum Laufen bringen

SwiftUI: TabView und NavigationView laufen gut auf dem iPhone, aber nicht auf dem iPad?

Abhängigkeiten funktionieren gut in maven, aber nicht in sbt

Tests unter JUnit 4 laufen, aber nicht JUnit 5 - Kompiliert sauber, aber 0 Tests ausführen

Mokka-Tests laufen nicht, nachdem sie zuvor gut funktioniert haben

Tests fehlschlagen, wenn von Maven ausgeführt, aber nicht von IntelliJ

Tests laufen nicht mit Junit 5 und Maven

Originalcodes laufen gut, aber wenn ich React.createElement durch JSX ersetze, scheint es nicht zu funktionieren, warum?

Makros laufen gut, wenn sie einzeln ausgeführt werden, aber nicht, wenn sie nacheinander per Taste aufgerufen werden

Jest-Tests laufen über die CLI einwandfrei, schlagen jedoch in IntelliJ . fehl

android JUnit Tests laufen nicht

Resharper Unit Tests laufen nicht

Lass einige Tests nicht laufen

IntelliJ IDEA - Get Kann die Methode 'isBlank' in 'String' nicht auflösen, funktioniert aber in STS gut

Maven nicht @BeforeEach Methoden laufen beim Laufen

Maven Plugin kompiliert gut, aber nicht Klasse während der Ausführung finden

Kann die Messgeräte-Spezifikation nicht ausführen, kann aber mit Maven laufen

Maven arbeitet nicht mit Jenkins (aber über Eclipse und Befehlszeile)

forEach funktioniert gut in onClick, aber nicht ohne

Standardfunktion funktioniert gut, aber wenn delegiert - nicht

Bibliotheken funktionieren in Spyder gut, aber nicht in PyCharm

Seite funktioniert gut, ist aber nicht scrollbar

Einige Tests werden nicht ausgeführt, werden aber gut ausgeführt, wenn sie einzeln ausgeführt werden

funktioniert nicht gut, wenn sie über eine statische Bibliothek verknüpft ist, funktioniert aber, wenn sie im Prog kopiert wird

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv