我的代码看起来像这样:
ClassB objB = (ClassB) objA;
int z = objB.ClassBMethod();
int y = objA.ClassAMethod();
目前我的单元测试是这样的:
ClassA mockClassA = mock(ClassA.class);
when(mockClassA.ClassAMethod()).thenReturn(1);
我如何模拟objA
的转换到ClassB
,以便我可以模拟ClassBMethod()
?
我真的希望ClassB
是ClassA
的子类…试试这个:
ClassA mockB = mock(ClassB.class);
这将给您一个模拟对象,它实际上是ClassB
的一个实例,但是您将其视为ClassA
,然后可以成功地执行强制转换。