[英]JUnit - Return a mocked object from a type cast
My code looks something like this: 我的代码如下所示:
ClassB objB = (ClassB) objA;
int z = objB.ClassBMethod();
int y = objA.ClassAMethod();
Currently my unit test looks like this: 目前,我的单元测试如下:
ClassA mockClassA = mock(ClassA.class);
when(mockClassA.ClassAMethod()).thenReturn(1);
How would I mock objA
's cast to ClassB
so that I can mock the ClassBMethod()
? 我将如何模拟
objA
为ClassB
以便模拟ClassBMethod()
?
I really hope ClassB
is a subclass of ClassA
... Try this: 我真的希望
ClassB
是ClassA
的子类。尝试以下操作:
ClassA mockB = mock(ClassB.class);
This will give you a mocked object that is really an instance of ClassB
, but you treat it as a ClassA
and then can successfully do the cast. 这将为您提供一个实际上是
ClassB
实例的ClassB
,但您将其视为ClassA
,然后可以成功进行ClassA
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.