2015-11-03 76 views
5

我想不使用真正的XLS文件來測試下面的代碼...是否有任何方法來測試/模擬使用junit的文件輸入?

File file = new File("file.xls"); 
final FileInputStream input = new FileInputStream(file); 

我的問題是,我無法創建文件的一個實例,我不知道如何來模擬我創建一個新的文件以及如何模擬期望的內容。

有沒有辦法使用junit來做到這一點?

謝謝

+1

**我的問題是我無法創建文件**的實例 - 爲什麼? –

+0

沒有辦法制作一個新的File();我不知道哪個方法實現能夠創建一個實例 – jpganz18

回答

1

是的,有幾種不同的方法。

您可以使用Powermock等功能來攔截對新的呼叫。看到這個其他答案,我解釋瞭如何做到這一點詳細EasyMock - mock object returned from new Object

你真的想要從Excel文件或「Excel對象」字節?可能值得重構,以傳遞一個Workbook對象或者任何你用來解析下游的excel然後使用依賴注入的東西。然後您的測試可以注入模擬工作簿對象而不是真實文件。

相關問題