public class TargetObjectWrapper extends TargetObject {
@Mock SomeObject myMockOfSomeObject;
@InjectMocks TargetObject targetObject;
public TargetObjectWrapper(){
this.targetObject = mock(originalObject);
//doAnswer(...).when(...) methods
}
//Override other methods of TargetObject
}
我正在尝试将特定的模拟对象注入到targetObject
. 我知道 targetObject 将始终具有具有此特定签名的字段。
这一切都有效,我可以成功注入myMockOfSomeObject
,并适当地重定向调用。
但是当 TargetObject 类包含像下面这个简单示例这样的其他字段时,当我将请求传递给原始对象时,该字段会被清空并导致空指针异常。
Log log = LogFactory.getLog(getClass());
如何避免导致其他对象获取空值?特别是如果其他变量可能会因对象而异(此代码应该是通用的)?