And*_*eas 8 java recursion junit hamcrest
我正在编写IM和导出文件的单元测试.我需要逐个字节地递归测试生成的目录.我自己实现了平面目录的例程,并且知道如何递归地执行此操作.但我不想重新发明轮子.
那么有类似下面的例子吗?
Matchers.matches(Path actual, equalsRecursive(Path value));
Run Code Online (Sandbox Code Playgroud)
要么
FileAssertions.equalsRecursive(Path actual, Path value);
Run Code Online (Sandbox Code Playgroud)
我不知道有这样的匹配器。所以,在我看来,你必须自己做。我能想到的2个选项如下:
使用 Apache CommonsFileUtils以便
1.1. 确保每个文件/子目录(此处为递归调用)都存在于当前正在测试的目录中。对于每个子目录获取文件集合,迭代并使用相应子目录的directoryContains方法。
1.2 使用contentEquals方法确保 2 个对应文件的内容相等。我不确定如果将 2 个目录传递给此方法会发生什么。
第二个选项:如果您在 Linux 机器上运行测试,您可以使用此处的Runtime.exec()文档从 Java 运行 Linux 命令。您需要运行的单个命令是diff -r <directory1> <directory2>
祝你好运!
| 归档时间: |
|
| 查看次数: |
718 次 |
| 最近记录: |