2015-11-03 4 views
5

私は本当のXLSファイルを使用せずに、次のコードをテストしようとしています...junitを使ってファイル入力をテスト/模擬する方法はありますか?

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

私の問題は、私は、ファイルのインスタンスを作成することはできません、と私は新しいを作成していますシミュレートする方法を知らないということですどのようにして何を期待するかを模擬することができます。

junitを使用してこれを行う方法はありますか?

おかげ

+1

**私の問題は、File **のインスタンスを作成できないことです - なぜですか? –

+0

新しいFile()を作成する方法はありません。どのメソッドがインスタンスを作成できるように実装しているのかわかりません – jpganz18

答えて

1

はい、カップル、さまざまな方法があります。

Powermockのようなものを使用して、newへの呼び出しを傍受することができます。これを行う方法を説明するこの他の回答を参照してください。EasyMock - mock object returned from new Object

実際には、Excelファイルまたは「Excelオブジェクト」のバイトが欲しいですか? Workbookオブジェクトを渡すリファクタリングや、下流のExcelを解析して依存関係注入を使用するのに役立つかもしれません。あなたのテストでは、実際のファイルではなくモックブックオブジェクトを挿入することができます。

関連する問題