Подсчитать количество файлов в Zip-файле с помощью c # - PullRequest
0 голосов
/ 24 января 2011

Я генерирую некоторые файлы .csv, и мне нужно сжать их внутри Zip-файла. Хорошо, у меня есть рамки для этого, и, вероятно, все будет хорошо.

Но! Как говорит TDD, я могу написать код только после нескольких тестов!

Мой первый тест звучит просто, но у меня возникают проблемы с чтением Zip-файла, кто-нибудь знает простой способ подсчета количества файлов в моем zip-файле?

Ответы [ 3 ]

4 голосов
/ 24 января 2011

Вы, похоже, ищете что-то вроде DotNetZip .

РЕДАКТИРОВАТЬ : Например:

int count;
using (ZipFile zip = ZipFile.Read(path))
    count = zip.Count;
1 голос
/ 25 января 2011

Я не думаю, что это был вопрос TDD, который вы задали, но я все равно на него отвечу.

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

Теперь, используя выбранную вами библиотеку, заставьте FileCounter работать.Как только он заработает, и вы пройдете тестирование, если вы того пожелаете, проведите рефакторинг кода, чтобы он использовал макетную среду для имитации вызовов библиотеки zip.Теперь у вас нет зависимости от файловой системы.(Я бы, наверное, не пошел бы так далеко, если бы ваши тесты не слишком сильно замедлялись из-за дискового ввода-вывода)

0 голосов
/ 24 января 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...