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