【发布时间】:2017-12-03 17:44:49
【问题描述】:
我有一个类里面有这个方法:
public class DirectoryWalker {
public void visitDirectory(String path,List<File> resultList ) {...}
...
}
我想测试这个方法,我开始做如下所示。
@Test
public void ListOfTheFiles(){
List<File> result = directoryWalker.visitDirectory("pathFile", new ArrayList<File>());
Assert.assertThat("path\File\\0A54-4444-2441-D554.xml", is(result));
说实话,我有点困惑,因为这是我第一次尝试使用列表作为参数来测试 void 方法。
我期待这个文件:
"path\File\\0A54-4444-2441-D554.xml
进入文件夹File
你能帮帮我吗?谢谢
编辑:当然这个指令是错误的,因为结果被初始化为文件列表:
List<File> result = directoryWalker.visitDirectory(...);
全班:
public class DirectoryWalker {
public void visitDirectory(String path, List<File> resultList ) {
File root = new File(path);
File[] list = root.listFiles();
for (File f : list) {
if (f.isFile() && f.getName().toLowerCase().endsWith(".xml")) {
resultList.add(f);
} else if(f.isDirectory()) {
visitDirectory(f.getAbsolutePath(),resultList);
}
}
}
}
【问题讨论】:
标签: java methods junit collections void