使用c#计算Zip文件中的文件数

时间:2011-01-24 18:02:53

标签: c# tdd zip

我正在生成一些.csv文件,我需要在Zip文件中压缩它。好的,我有一个框架可以做到这一点,可能一切都会好的。

但是!正如TDD所说,在我进行一些测试之后,我就可以编写代码了!

我的第一个测试听起来很简单,但是我在阅读Zip文件时遇到一些问题,有人知道一种简单的方法来计算我的zip文件中的文件数吗?

3 个答案:

答案 0 :(得分:4)

您似乎在寻找类似DotNetZip的内容。

编辑:例如:

int count;
using (ZipFile zip = ZipFile.Read(path))
    count = zip.Count;

答案 1 :(得分:1)

我不认为这是你提出的TDD问题,但无论如何我都会回答。

[Test]
public void countsNumberOfFilesInZip() {
  var counter = new FileCounter("existing_archive_with_2_files.zip");
  AssertEqual(2, counter.count());
}

现在,使用您选择的库,使FileCounter正常工作。一旦它工作并且你有一个通过测试,如果你这样选择,重构代码,以便它使用一个模拟框架来模拟对zip库的调用。现在您没有对文件系统的依赖。 (除非你的测试因磁盘I / O而减慢太多,否则我可能不会这么做)

答案 2 :(得分:0)