У меня есть класс, который выполняет операции с файлами на диске.Точнее, он пересекает каталог, читает все файлы с заданным суффиксом и выполняет некоторые операции с данными, а затем выводит их в новый файл.
Я немного сомневаюсь в том, как спроектировать юнит-тестдля этого класса.Я думаю, что метод установки создает временный каталог и временные файлы в / tmp / somefolder, но я подозреваю, что это плохая идея по нескольким причинам (разработчики используют окна, права доступа к файлам и т. Д.).
Другая идея состояла бы в том, чтобы смоделировать классы, которые я использую для записи и чтения на диск, путем инкапсуляции классов с использованием интерфейса и затем предоставления фиктивного объекта, но это выглядит немного грязно.
Каков был бы стандартный способ решения такой проблемы?