在Ruby中测试文件复制,移动,删除操作

时间:2011-12-14 05:58:53

标签: ruby unit-testing tdd

我正在用Ruby开发一个备份库。而且,正如您所料,在备份过程中会复制,移动和删除许多文件。在我的测试中,我想确保将正确的文件和文件夹从源复制到目标。测试它的最佳实践是什么?我应该在测试期间处理物理文件吗?或者嘲笑它会更好吗?

2 个答案:

答案 0 :(得分:3)

最好避免使用真正的文件系统进行测试(它会导致设置/清理混乱的缓慢,脆弱的测试)。例如,最好使用fakefs gem将其删除。

答案 1 :(得分:2)

单元测试需要快速运行,以便在每次更改后可以经常运行。所以触摸文件系统不是一个选择。

然后集成测试(或者可以调用的任何东西)将确保实际复制物理文件。这些测试可能会更慢,因为它们运行频率较低。