我想測試一些嚴重依賴靜態方法調用的遺留代碼。PowerMockito測試遺留代碼
基本上,我有一個類A,方法b()和c()。 A.b()返回void,並且A.c()返回一個值。
如果真正的A.b()被調用,被測試的類會拋出一個異常,所以我需要它不做任何事情。但是,如果我使用:
PowerMockito.spy(A.class);
PowerMockito.doNothing().when(A.class);
然後我不能模擬A.c()返回我需要的值。這是因爲該行
PowerMockito.when(A.c()).thenReturn(value);
拋出異常:Only void methods can doNothing()
。有什麼辦法讓A.b()什麼也不做,並且「覆蓋」A.c()返回正確的值?
PowerMockito.doNothing()。當(A.class)有void返回類型 – user472875 2013-02-11 17:05:13