Фальшивая файловая система для модульного тестирования Perl

Есть ли метод или модуль, который позволяет мне имитировать поддельную файловую систему для использования с модульным тестированием Perl?

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

Я знаю, что есть всевозможные способы обойти эту проблему, такие как создание временных файлов или обертывание файловых тестов в их собственных функциях, которые затем можно смоделировать, но иногда было бы неплохо, если бы Я мог бы просто заставить Perl солгать мне ... Поэтому решения, предлагающие переписать проверяемый код, не требуются; -)

Обновление:

После того, как я только что нашел и прочитал этот вопрос SO , переписывание кода так, чтобы он был более тестируемым, выглядит более разумным вариантом. Тем не менее, скрестив пальцы ...

11
задан Community 23 May 2017 в 11:46
поделиться