在Elixir中验证zip文件功能的最佳方法

时间:2014-04-28 13:26:50

标签: erlang elixir

我有一个带有zip功能的路径库,在编写单元测试时,我试图找到验证zip功能正常工作的最佳方法。

有人可以告诉我验证zip功能是否正常工作的最佳方法吗?

我能想到的几种方式是:

  1. 将结果zip文件的md5与示例zip文件进行比较
  2. 列出zip文件的内容并确保内容正确
  3. 然而,两种方式似乎都有点长篇大论,我猜不完全是惯用的Elixir。有人能告诉我一个更好的方法吗?

2 个答案:

答案 0 :(得分:1)

我会创建一个测试文件目录,在单元测试中压缩,使用可信任的实用程序将其压缩并获得生成的md5。然后进行单元测试,执行zip功能,获取md5,并与经过验证的md5进行比较。

答案 1 :(得分:0)

如果我是正确的,有些参数会影响zip处理的结果(比如块大小)。因此,除非您的目的是详尽检查您的zip进程是否重现了所有或部分zip功能,我发现更有趣的是验证系统中的各种文件(或/和一些随机文件)可以使用您的功能进行压缩,并使用不同的解压缩工具在外部解压缩,最后比较文件与原始文件是否相同。 (当然需要更多时间,但可以轻松实现自动化)。

关于MD5的使用而不是文件比较,我认为一方面文件比较容易编写,另一方面你需要读取整个文件来计算MD5,所以我认为不是值得使用这个技巧来加速比较 - (特别是如果文件不同:o)。