Warum erhalte ich NoClassDefFoundError beim Ausführen von JMockit Mocks?

Ich renne JMockit mitJunit 4 und erhalte den Fehlerjava.lang.NoClassDefFoundError.

Ich möchte testen, wie meine Klasse (meineKomponente) mit Werten umgeht, die von einer statischen Bibliotheksklasse eines Drittanbieters zurückgegeben werden. Ich nähere mich dem, indem ich die verspottete Klasse (mocked3rdpartycomponent) erstelle und dann meine mycomponent wie folgt aufrufe:

mytest-> mycomponent-> mocked3rdpartycomponent

Die verspottete Klasse hat die folgende Definition. Die verspottete Methode und Klasse soll die zuvor erwähnte Bibliothek eines Drittanbieters ersetzen:

new Mockup<MockedClass>() {
  @Mock public ReturnType[] mockedMethod() {
    ReturnType[] ni = {null};
    return ni;
  }
}

Mycomponent mc = new MyComponent();

Wenn ich meine Testklasse ausführe, wird folgende Fehlermeldung angezeigt:

java.lang.NoClassDefFoundError: mockit/internal/state/TestRun
at <MockedClass.mockedMethod>(MockedClass.java)
at <MyComponent>.<init>
caused by: java.lang.ClassNotFoundException: mockit.internal.state.TestRun

Bearbeiten Wenn ich außerdem versuche, den Aufruf in der Unit Under Test zu überspringen, die meine Fälschung aufrufen soll, wird ein Bildschirm angezeigt, der angibt, dass der Quellcode für Junit nicht gefunden werden kann.

Bearbeiten Die Drittanbieter-Bibliothek ist mit einigen statischen Methoden ebenfalls systemeigen.

Weiß jemand, woran das liegen könnte?

Meine Umgebung ist Eclipse Mars 4.5.0, JUnit 4.10, JMockit 1.19.

Vielen Dank

Antworten auf die Frage(0)

Ihre Antwort auf die Frage