Mockito: quando o método A.a é chamado, execute B.b
Estou usando o Mockito para testes da JUnit. Portanto, há uma determinada classe A que é usada no código que quero testar:
class A{
public A(){}
public final String a(String x){
return "A.a: " + x;
}
}
e eu quero substituir o método chamada A.a com outra chamada de método com os mesmos argumentos e mesmo tipo de valor de retorno. Como você pode ver, não é possível substituir o método a, estendendo a classe como ela é final. Então, o que eu tenho agora é outra classe B com o método B.b:
class B{
public B(){}
public String b(String x){
return "B.b: " + x;
}
}
Agora eu quero ter certeza que toda vez que A.a é chamado pelo código, o valor de retorno de B.b é usado no lugar. Existe a possibilidade de conseguir isso com Mockito (algo comoMockito.when(A.a(x)).thenReturn(B.b(x));
) mas com o mesmo parâmetro x, sem saber o valor de x?
Qualquer ajuda seria apreciada, agradeço antecipadamente!