有對象面板裏面的方法我如何方法調用anoither方法Mock對象
protected Confirmation confim() {
Confirmation confirmation = new Confirmation() {
@Override
public void onConfirm() {
doCancel();
}
};
return confirmation;
}
protected void doCancel() {
....
}
}
,我需要檢查確認()調用doCancel方法
我的測試
@Test
public void test() {
Panel panel = Mockito.mock(Panel.class);
Mockito.doCallRealMethod().when(panel).confirm();
Mockito.doCallRealMethod().when(panel).cancel();
panel.confirm();
Mockito.verify(panel).cancel();
}`
問題是,cancel()永遠不會被調用...也許這是因爲「OnConfirm()」是ovverided方法,它需要一個模擬...或somthing ..有人可以幫助如何測試?
P.S.面板必須被模擬。
問題在於不要調用panel.confirm()。onConfirm(); 這是愚蠢的錯誤.. 因此請刪除這個問題..
調用它的一個叫做'doCancel'沒有取消方法,這是一個錯字或取消'()'稱爲內'doCancel' – cowls
它是愚蠢的錯誤,因爲我不打電話panel.confirm()onConfirm();所以請刪除這個問題 – x3mik