Есть ли способ или модуль, который позволяет мне моделировать поддельную файловую систему для использования с модулем Perl?
В модульном тестировании я использую различные модули Test::*
и Test::Mock*
, но иногда я хотел бы подделывать файловую систему. Простой пример (и минимальное требование) будет подделка результата из операторов тестирования файлов -r
или -f
, поэтому, когда я вызываю объекты или модули, которые выполняют проверки файлов, я могу более легко контролировать результат.
Я знаю, что существует множество способов обойти эту проблему, например создание временных файлов или обертывание тестов файлов в их собственных функциях, которые затем можно издеваться, но иногда было бы неплохо, если бы я мог просто получить Perl ложь мне... Поэтому решения, предлагающие переписывать проверенный код, не требуются; -)
Update:
После того, как вы только что нашли и прочитали этот вопрос SO, переписывание кода, чтобы оно было более проверяемым, выглядит более разумным. Тем не менее, пальцы скрещены...