Я пытаюсь использовать разработку через тестирование для приложения, которое должно считывать много данных с диска. Проблема в том, что данные организованы в файловой системе в несколько сложной структуре каталогов (не по моей вине). Методы, которые я тестирую, должны будут видеть, что большое количество файлов существует в нескольких разных каталогах, чтобы методы могли завершиться.
Решение, которого я пытаюсь избежать, — это просто иметь известную папку на жестком диске со всеми данными в ней. Этот подход отстой по нескольким причинам, одна из которых заключается в том, что если бы мы хотели запустить модульные тесты на другом компьютере, нам пришлось бы копировать на него большой объем данных.
Я также мог бы создавать фиктивные файлы в методе установки и очищать их в методе демонтажа. Проблема в том, что было бы очень сложно написать код для репликации существующей структуры каталогов и сброса большого количества фиктивных файлов в эти каталоги.
Я понимаю, как выполнить модульное тестирование файловых операций ввода-вывода, но как выполнить модульное тестирование такого сценария?
Изменить: мне не нужно будет читать файлы. Приложению потребуется проанализировать структуру каталогов и определить, какие файлы в нем существуют. А это большое количество подкаталогов с большим количеством файлов.