9 Stimmen

Mockito / Powermockito simuliert private void Methode

Ich muss eine private void-Methode mocken, die keine Argumente benötigt, unter Verwendung von Mockito und PowerMock.

Die Methode gehört zu einer Instanz, die ein Spy ist.

Mir ist bewusst, dass die Tatsache, dass ich dies tun muss, auf schlechten Code hindeutet, aber ich arbeite an einem alten Projekt, das die Unit-Tests von einem Testframework in ein anderes umwandelt.

Wenn jemand Vorschläge hat, wäre das sehr zu schätzen.

Danke!

Bisher habe ich das versucht:

PowerMockito.doNothing().when(Whitebox.invokeMethod(spy,"method",null));

Aber ich erhalte diesen Fehler:

Keine Methode mit dem Namen 'method' und Parameterarten gefunden: []

14voto

Tobb Punkte 11232

Ich habe Whitebox (die mit Powermock geliefert wird) nicht ausprobiert, aber versuchen Sie etwas ähnliches wie:

@RunWith(PowerMockRunner.class)
@PrepareForTest(MyClass.class)
public class MyClassTest {
    private MyClass myClass;

    @Before
    public void setup() {
        myClass = PowerMockito.spy(new MyClass());
        PowerMockito.doNothing().when(myClass, "myPrivateMethod");
    }
    //Tests..
}

.. soweit ich mich erinnern kann..

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X