public class B2 extends B { // so, this is, in fact, an IS-A of B
public String method2() {
return "mockedResult";
}
}
В вашем тесте у вас теперь будет что-то вроде этого:
@Test
public void testMethod() {
A toTest = new A();
assertEquals("mockedResult", toTest.myMethod(new B2());
}
Это очень простой c способ. Но я бы порекомендовал прочесть о среде Mocking, такой как Mockito, для более сложных сценариев.
https://www.baeldung.com/mockito-series
Для краткости, используя Mockito, это быть примерно таким:
public class TestClass {
@Mock
private B b;
private A toTest = new A();
@Test
public void testMethod() {
when(b.method2()).thenReturn("mockedResult");
assertEquals("mockedResult", toTest.myMethod());
}
}