問題:我寫一個測試用例的方法從一個公共靜態方法與下面的代碼被稱爲:如何嘲笑「新FileOutputStram()」編寫公共靜態方法使用Powermockito
final File file = new File(filePath);
final OutputStream out = new FileOutputStream(file);
out.write(bytes);
out.close();
現在我需要模擬上面的調用。
我所寫的: -
@Before
public void setUp() throws Exception{
File myFile = PowerMockito.mock(File.class);
FileOutputStream outStream = PowerMockito.mock(FileOutputStream.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(myFile);
PowerMockito.whenNew(FileOutputStream.class).withAnyArguments().thenReturn(outStream);
doNothing().when(outStream).write(Matchers.any());
doNothing().when(outStream).close();
}
@Test
public void testMethod(){
PowerMockito.mockStatic(StaticClassUtil.class);
PowerMockito.when(StaticClassUtil.uploadFile(file.getBytes(), "dummy","dummy","dummy", null)).thenReturn("dummy");
}
在調試,我發現沒有模擬對象在行:
final File file = new File(filePath);
請建議在那裏我得到錯誤的。
很高興閱讀您的評論,這對我來說是一次學習體驗,並且有一天我也努力推動自己也達到黃金照明徽章。:)你和我之間的 –
:鑑於Illuminiator徽章是其中之一非常罕見的......它非常容易獲得。您只需回答很多問題,並且每次在答案中獲得第一個贊成票時,就可以編輯問題以改進它。換句話說:這個徽章只是關於許多答案和編輯。工作和紀律。還有其他徽章更難**。例如,有人問了100個有+1票或更多票的問題。雖然我問了+60個問題......我只有30個左右的upvotes。從這個意義上說:當你對徽章感興趣... – GhostCat
努力工作以達到「審覈者」的特權...然後你可以獲得大量的徽章...只是通過工作/紀律。 – GhostCat