2015-08-26 6 views
5

Stellen ich die folgende Zeile in einem Stück Code habe ich bin Unit-Tests:Können Sie eine Kette von Methodenaufrufen mit Mocktio/PowerMock verspotten, wenn einer von ihnen statisch ist?

SomeClass.method1().method2(); 

Wo Someclass ist eine Klasse, method1() ist eine statische Methode innerhalb Someclass, die einige Beispiel von, sagen wir zurückkehrt, 'aClass' und method2() ist eine Methode, die von einer Instanz von 'aClass' aufgerufen werden kann.

Ist es möglich, diese gesamte Kette zu verspotten, so dass ich ein Ergebnis zurückgeben kann, das ich will? Im Moment weiß ich, dass ich etwas ähnliches wie dies tun könnte:

BDDMockito.given(SomeClass.method1()).willReturn(mockedAClass); 
when(mockedAClass.method2()).thenReturn(true); 

Aber ich würde lieber etwas tun:

when(SomeClass.method1().method2()).thenReturn(true); 

Ist das möglich?


EDIT: Diese Frage als Duplikat markiert wurde, aber es ist ein ziemlich großer Unterschied zwischen meiner Frage und dem ‚Duplikat‘ ein. In meiner Frage ist die erste Methode statisch, die zweite nicht. Ich kann es nicht als Spott empfinden, diese statische Methode zu verketten, was mich zu der Annahme verleitet, dass es nicht die gleiche Antwort ist.

Antwort

Verwandte Themen