Mockito: когда вызывается метод A.a, выполняется B.b
Я использую Mockito для тестов JUnit. Итак, есть определенный класс A, который используется из кода, который я хочу проверить:
class A{
public A(){}
public final String a(String x){
return "A.a: " + x;
}
}
и я хочу заменить вызов метода A.a другим вызовом метода с теми же аргументами и с тем же типом возвращаемого значения. Как видите, невозможно переопределить метод a, расширив класс, так как он является окончательным. Итак, теперь у меня есть другой класс B с методом B.b:
class B{
public B(){}
public String b(String x){
return "B.b: " + x;
}
}
Теперь я хочу убедиться, что каждый раз, когда A.a вызывается из кода, вместо него используется возвращаемое значение B.b. Есть ли возможность добиться этого с Mockito (что-то вродеMockito.when(A.a(x)).thenReturn(B.b(x));
) но с тем же параметром х, не зная значение х?
Любая помощь будет оценена, спасибо заранее!