我有一个单例模式,返回一个不同类的实例。我想要Mock返回的实例对象上的方法。我一直在阅读PowerMock关于最终类和单例模式的Mock特性,但我不知道我的情况是否属于这些范畴。感谢您的建议。
public final class SomeWrapper {
private MyActualObject MyActualObject;
private static final SomeWrapper instance = new SomeWrapper();
private SomeWrapper() {
// singleton
}
public static SomeWrapper getInstance() {
return instance;
}
public void setMyActualObject(MyActualObject MyActualObject) {
if(this.MyActualObject == null) {
this.MyActualObject = MyActualObject;
} else {
throw new UnsupportedOperationException("MyActualObject is already set, cannot reset.");
}
}
public MyActualObject getMyActualObject() {
return MyActualObject;
}
}
现在,在我的单元测试中,我想模拟以下行:
when(SomeWrapper.getInstance().getMyActualObject().isActive()).thenReturn(false);
我应该模拟SomeWrapper和MyActualObject吗?有什么示例代码可以作为指导吗?