我一直在尝试设计一个文件路径,如果可能的话,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 类无法创建目录/文件。