我做了一个简单的测试,以确保一个蚂蚁任务的行为正常,因此为Windows和Linux添加非法文件字符,如下所示:
@Test(expected=BuildException.class)
public void destinationDirectoryCreationException() throws Exception {
backupTask.setSrcDir(testResourceDirectory);
backupTask.setDestDir(new File("?/"));
backupTask.execute();
}
不幸的是,/
是非法文件字符的原因是它是路径分隔符,因此这将只是正常创建目录。
此外,char 0
或nul
由各种apis(特别是本机文件apis和eclipse的调试变量资源管理器)解释为流的结尾,因此之后忽略所有内容。
答案 0 :(得分:2)
没有。对于你可怜的小测试来说,Linux太糟糕了。
好的,所以osgx实际上提出了一个特别适用于我的测试的解决方案(如果他做出了答案,他可以得到15个代表;));使目录成为不存在的目录的子目录。例如backupTask.setDestDir(new File("/\\/?/"));
。唯一的问题是它与原始测试略有不同,但我对此感到满意。
还要注意(我相信)如果调用.mkdirs()
而不是mkdir()