简体   繁体   English

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

[英]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() ? 我将如何模拟objAClassB以便模拟ClassBMethod()

I really hope ClassB is a subclass of ClassA ... Try this: 我真的希望ClassBClassA的子类。尝试以下操作:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM