1
我目前正在試圖模擬私人最終靜態對象。這似乎不是我的對象被正確地嘲弄。使用Mockito/PowerMockito模擬私人最終靜態對象
例子:
代碼:在主類
public class Main {
private final static serviceA obj = new serviceA();
public somemethod { return true; }
}
嘲笑:在我的測試類我有
Public class TestMain {
private Main mainObj;
private static serviceA obj;
@Before
public void setupBeforeTest() {
obj = Mockito.mock(serviceA.class);
PowerMockito.whenNew(serviceA.class).withNoArguments().thenReturn(obj);
mainObj= Mockito.spy(new Main());
}
}
但OBJ做
Mockito.when(obj.returnsFalseMethod()).thenReturn(false);
時犯規回到我指定的值
並將實際運行代碼obj.returnsFalseMethod()
。
任何建議都會有幫助,我也無法更改Main類中的任何代碼,謝謝。