Mockito: Wenn Methode A.a aufgerufen wird, dann führe B.b aus
Ich benutze Mockito für JUnit-Tests. Es gibt also eine bestimmte Klasse A, die aus dem Code verwendet wird, den ich testen möchte:
class A{
public A(){}
public final String a(String x){
return "A.a: " + x;
}
}
und ich möchte den Methodenaufruf A.a durch einen anderen Methodenaufruf mit denselben Argumenten und demselben Typ von Rückgabewert ersetzen. Wie Sie sehen, ist es nicht möglich, die Methode a zu überschreiben, indem Sie die Klasse erweitern, da sie endgültig ist. Also, was ich jetzt habe, ist eine andere Klasse B mit der Methode B.b:
class B{
public B(){}
public String b(String x){
return "B.b: " + x;
}
}
Jetzt möchte ich sicherstellen, dass jedes Mal, wenn A.a aus dem Code aufgerufen wird, stattdessen der Rückgabewert von B.b verwendet wird. Gibt es eine Möglichkeit, dies mit Mockito zu erreichen?Mockito.when(A.a(x)).thenReturn(B.b(x));
) aber mit dem gleichen Parameter x, ohne den Wert von x zu kennen?
Jede Hilfe wäre dankbar, danke im Voraus!