我如何创建一个Path
到一个文件,这是保证不存在?
我考虑使用"impossible"路径名,例如:
Path path = Path.of("/nonexistent");
但是有人可能会创建这样一个文件,使我的代码失败。
更新
我已经写了一个方法,它接受一个Path
,然后尝试从底层文件中读取,现在我正在写一个单元测试,以确保我正确地处理了不存在的文件。
我希望使我的单元测试健壮,而不冒随机失败的风险。
我如何创建一个Path
到一个文件,这是保证不存在?
我考虑使用"impossible"路径名,例如:
Path path = Path.of("/nonexistent");
但是有人可能会创建这样一个文件,使我的代码失败。
更新
我已经写了一个方法,它接受一个Path
,然后尝试从底层文件中读取,现在我正在写一个单元测试,以确保我正确地处理了不存在的文件。
我希望使我的单元测试健壮,而不冒随机失败的风险。
2条答案
按热度按时间6rqinv9w1#
为测试创建一个临时目录,那么该目录下的任何文件路径都将不存在--在测试中使用它。
如果您使用JUNIT 5,请查看@TempDir,它为测试用例设置了一个新的空目录。这里的例子。
sf6xfgos2#
我找到了一个可能的解决方案:
1.创建新的临时文件。
1.立即删除它。
如果安全性依赖于它,我不会使用它,但出于测试目的,我相信这几乎可以保证文件不存在。