Java JUnit-从类型转换返回模拟对象
我的代码如下所示:Java JUnit-从类型转换返回模拟对象,java,unit-testing,junit,casting,mockito,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); 目前,我的单元测试如下所示: ClassB objB = (ClassB) objA; int z = objB.ClassB
ClassB objB = (ClassB) objA;
int z = objB.ClassBMethod();
int y = objA.ClassAMethod();
ClassA mockClassA = mock(ClassA.class);
when(mockClassA.ClassAMethod()).thenReturn(1);
目前,我的单元测试如下所示:
ClassB objB = (ClassB) objA;
int z = objB.ClassBMethod();
int y = objA.ClassAMethod();
ClassA mockClassA = mock(ClassA.class);
when(mockClassA.ClassAMethod()).thenReturn(1);
我如何模拟
objA
对ClassB
的转换,以便模拟ClassB方法()
?我真的希望ClassB
是ClassA
的子类。。。试试这个:
ClassA mockB = mock(ClassB.class);
这将为您提供一个模拟对象,它实际上是
ClassB
的一个实例,但您将其视为ClassA
,然后可以成功地进行转换。这是否允许我模拟ClassA和ClassB方法?最好的方法是尝试一下。我应该问:“它应该允许我模仿ClassA和ClassB方法吗?”因为它没有。你能解释一下吗?要么扩展这个问题,要么打开一个新的问题,并具体说明你认为它应该做什么以及它实际上在做什么。现在我真的不明白问题是什么。