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!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage