次のコードを使用して、ファイル パスと、可能であれば Java が Linux/MacOS/Windows で作成できないファイル名を考案しようとしています。
File directory = new Directory(dir);
directory.mkdirs(); // should always fail and not affect an existing file/dir
File file = new File(dir, filename);
file.createNewFile(); // should always fail and not affect an existing file/dir
この種のパスは単体テストで使用され、特定のエラー条件が正しく処理されていることを証明します。テストが次のように実行されていると仮定しますroot
(そうではありませんが、無効なパスに焦点を当てたいと思います)。これまでのところ、私が試したことはすべて、あるプラットフォーム (通常は Windows) では失敗しますが、別のプラットフォーム (通常は Linux) では失敗しません。
提案?
PS。モック オブジェクト、PowerMock などについては知っていますが、実際には、Java のそのままの File クラスを取得して、ディレクトリ/ファイルの作成に失敗させたいだけです。