Robolectric + PowerMock + Mockito funktioniert nicht

9

Ich habe Mühe, diese seltene Kombination zu bekommen, aber ich habe kein Glück. Mein Projekt verwendet JUnit + Mockito + Robolectric für Tests und Roboguice für die Injektion, als ich PowerMock zu der Gleichung hinzugefügt habe, sind seltsame Dinge passiert, das sind einige der Dinge, die ich ausprobiert habe:

1.- Out of the Box PowerMock + Mockito + Robolectic Integration. Wie auf PowerMockIngration vorgeschlagen, habe ich ein @PowerMockRunnerDelegate hinzugefügt, um meinen benutzerdefinierten Runner einzuschließen, der von RobolectricGradleTestRunner ausgeht. :

Build.gradle

%Vor%

Test

%Vor%

Ergebnis:

%Vor%

So wie @PrepareForTest funktioniert nicht, dann habe ich versucht, wenn eine Regel ein Klassenlader, wie in der gleichen Anleitung vorgeschlagen:

Build.gradle

%Vor%

Testklasse

%Vor%

An diesem Punkt ist der Test bestanden und ich konnte RoboGuice wie erwartet verspotten, aber wenn ich alle meine Testfälle zusammen laufen lasse, bekomme ich die folgende Ausnahme, wenn ich einen einfachen Mock wie mock(OtherClass.class) :

erstelle %Vor%

Also habe ich viele Varianten ausprobiert: Entfernen Sie den Xtream-Klassenlader:

%Vor%

Benutzer JunitAgent:

%Vor%

Ich habe also keine Ideen mehr, oder?

    
JavierSP1209 22.03.2016, 14:26
quelle

1 Antwort

0

Ich hatte das gleiche Problem.

Meine Lösung war:

  • Entfernen Sie testCompile "org.powermock:powermock-module-junit4-rule-agent:x.x.x" von der Großschrift

  • Ändern Sie import static * .Mockito.mock und * .Mockito.when in org.powermock.api.mockito.PowerMockito.mock und org.powermock.api.mockito.PowerMockito.when .

Mateusz Dziekan 06.12.2017 09:02
quelle