我正在开发一个模块,该模块提供导航目录和操作文件的方法。基本上它将是Dir
和File
类的组合,具有特定于我正在处理的项目需求的选项。
现在我已经开始为其中一些方法编写测试,事情变得一团糟。
例子
我拥有的方法之一是一个tree
函数,它返回文件和文件夹的哈希值,您可以在其中传递tree(only: 'folders', limit: 3)
. 为了测试它只下降 3 个级别,我必须有 4 个以上的子文件夹,其中包含虚拟文件。
问题
现在我正在测试项目外部的文件夹,因为子文件夹已经存在,但我想摆脱这种情况,特别是考虑到一旦我开始测试等效于rm -rf
的方法(以及缺乏可移植性)。
我开始认为我需要创建一个“实验室老鼠”类型的文件夹,我在上面进行所有“实验”,但我不知道如何创建它。
- 我是否创建一个创建文件的函数?
- 我是否从其他位置提取文件和文件夹?
- 我是否对文件结构使用某种“lorem ipsum”生成器?
- 我是否手动制作所有这些文件和文件夹(呃)?
- 我是否只是模拟和存根所有内容而不实际创建/删除文件和文件夹?(我没有看到这种情况发生)
所以...
通常有人会如何测试过多的文件和文件夹操作?