Mockito - spottender Legendenklassenkonstruktor

8

Ich schreibe JUnit für eine Klasse, die über Konstruktor auf eine Legacy-Klasse verweist. Die Legacy-Klasse befindet sich in einem Drittanbieter-Jar, also kann ich sie nicht umgestalten, um das Leben einfacher zu machen ....

Dies ist die getestete Klasse ...

%Vor%

Das versuche ich im Mockito JUnit.

%Vor%

Irgendwelche Ideen, wie ich das machen kann ?????

    
Dave 09.06.2011, 05:46
quelle

3 Antworten

8

Erstellen Sie einen Builder für LegacyClass :

%Vor%

Auf diese Weise kann Ihre Klasse getestet werden, so dass die LegacyClass mit dem korrekten Parameter erstellt wird.

%Vor%

Der Test sieht ungefähr so ​​aus:

%Vor%

Wenn LegacyClass zufälligerweise final ist, müssen Sie einen nicht abschließenden Wrapper für LegacyClass erstellen, den MyClass verwenden wird.

    
Spoike 13.06.2011 09:17
quelle
4

Sie können das PowerMockito-Framework verwenden:

%Vor%

Schreiben Sie dann Ihre MockedLegacyClass-Implementierung entsprechend Ihren Testanforderungen.

    
user1645629 04.09.2012 12:38
quelle
0

Ich glaube, es ist nicht möglich, Konstrukteure zu verspotten, die Mockito verwenden. Stattdessen werde ich den folgenden Ansatz vorschlagen:

%Vor%     
Rishabh Sachdeva 06.03.2018 16:11
quelle

Tags und Links