【发布时间】:2011-12-14 05:58:53
【问题描述】:
我正在用 Ruby 开发一个备份库。而且,正如您所料,在备份过程中复制、移动和删除了许多文件。在我的测试中,我想确保将正确的文件和文件夹从源复制到目标。测试它的最佳实践是什么?我应该在测试期间处理物理文件吗?还是模拟它更好?
【问题讨论】:
标签: ruby unit-testing tdd
我正在用 Ruby 开发一个备份库。而且,正如您所料,在备份过程中复制、移动和删除了许多文件。在我的测试中,我想确保将正确的文件和文件夹从源复制到目标。测试它的最佳实践是什么?我应该在测试期间处理物理文件吗?还是模拟它更好?
【问题讨论】:
标签: ruby unit-testing tdd
最好避免使用真正的文件系统进行测试(它会导致缓慢、脆弱的测试以及混乱的设置/清理)。最好用fakefs gem 将其存根。
【讨论】:
单元测试需要快速运行,以便在每次更改后可以非常频繁地运行。因此,在这里触摸文件系统不是一种选择。
然后集成测试(或任何可以调用的)将确保实际复制物理文件。这些测试可能会更慢,因为它们运行的频率较低。
【讨论】: