Mockito: cuando se llama al método A.a, ejecute B.b
Estoy usando Mockito para las pruebas de JUnit. Entonces, hay una clase A dada que se usa desde el código que quiero probar:
class A{
public A(){}
public final String a(String x){
return "A.a: " + x;
}
}
y quiero reemplazar la llamada a Método A.a con otra llamada a método con los mismos argumentos y el mismo tipo de valor de retorno. Como puede ver, no es posible anular el método a extendiendo la clase como final. Entonces, lo que tengo ahora es otra clase B con el método B.b:
class B{
public B(){}
public String b(String x){
return "B.b: " + x;
}
}
Ahora quiero asegurarme de que cada vez que se llame a A.a desde el código, se use el valor de retorno de B.b en su lugar. ¿Existe la posibilidad de lograr esto con Mockito (algo así comoMockito.when(A.a(x)).thenReturn(B.b(x));
) pero con el mismo parámetro x, sin saber el valor de x?
Cualquier ayuda sería apreciada, gracias de antemano!