私は自分のJavaプログラムの単体テストを書いています。私のプログラムは、ユーザーが入力したファイルから読み込み、入力されたファイルの内容に基づいて新しいファイルを作成することを含む多くのことを行います。単位テストでpremadeファイルを使用するのは適切ですか?
現在、私の単体テストは、リソースのソースディレクトリに配置したテスト用に作成されたプレマイドファイルを使用しています。ファイルを作成すると、そのファイルは同じリソースソースディレクトリに置かれます。
私はここでたくさんの質問と回答を見てきました。単体テストでファイルを処理する方法については、さまざまな意見があります。これらのプレマードファイルをユニットテスト内で使用するのが適切ですか、それともより良いソリューションがありますか?
はい、完全に問題ありません。しかし、あなたのテストで生成されたファイルをsrcの下に置かないでください。彼らはソースではないので、srcには何もしません。 –
@JBNizetありがとうございます。彼らがどこに生まれ変わりますか? – ST3
また、コードをリファクタリングして、 'FileInputStream'の代わりに' InputStream'だけを受け取り、 'ByteArrayInputStream'を渡してすべてをテストのままにすることもできます。 (ファイルを書くのと同じことです: 'OutputStream'などを使用してください)ファイル名を渡すと、少しリファクタリングされますが、アイデアは同じです。 – Robert