使用c#计算Zip文件中的文件数
我正在生成一些.csv文件,我需要在Zip文件中压缩它。 好吧,我有一个框架来做这个,可能一切都会好的。
但! 正如TDD所说,我可以编写代码,经过一些测试!
我的第一个测试听起来很简单,但是我在阅读Zip文件时遇到了一些问题,有人知道一种简单的方法来计算我的zip文件中的文件数量吗?
你好像在寻找像DotNetZip这样的东西 。
编辑 :例如:
int count; using (ZipFile zip = ZipFile.Read(path)) count = zip.Count;
我不认为这是你提出的TDD问题,但无论如何我都会回答。
[测试] public void countsNumberOfFilesInZip(){ var counter = new FileCounter(“existing_archive_with_2_files.zip”); AssertEqual(2,counter.count()); }
现在,使用您选择的库,使FileCounter
工作。 一旦它工作并且你有一个通过测试,如果你这样选择,重构代码,以便它使用一个模拟框架来模拟对zip库的调用。 现在您没有对文件系统的依赖。 (除非你的测试因磁盘I / O而减慢太多,否则我可能不会走得这么远)
或者使用SharpZipLib并查看此示例