Возможно, это не ответит на ваш вопрос напрямую, но в таких случаях я склонен создавать временный каталог во время настройки теста и удалять его при разборке. Конечно, вы также должны убедиться, что приложение пишет в этот временный каталог. У меня всегда есть опция конфигурации, определяющая каталог назначения, который я могу перезаписать во время тестирования.
Когда дело доходит до утверждений, я использую обычный File.exist?
или File.directory?
, но, конечно, вы можете создавать свои собственные обертки вокруг него. Если вам нужно какое-то начальное состояние, вы можете создать каталог, который можно будет использовать в качестве прибора и который будет скопирован во временный каталог во время настройки теста.