JUnit - 从类型转换中返回一个模拟对象

时间:2015-05-27 21:01:13

标签: java unit-testing junit casting mockito

我的代码看起来像这样:

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()

1 个答案:

答案 0 :(得分:2)

我真的希望ClassBClassA的子类...试试这个:

ClassA mockB = mock(ClassB.class);

这将为您提供一个模拟对象,它实际上是ClassB的一个实例,但您将其视为ClassA,然后可以成功执行转换。