JtR*_*JtR 17 ruby linux unit-testing rspec mocking
我正在编写一个执行一些外部命令行实用程序的ruby程序.我如何从我的rspec测试模拟文件系统,以便我可以轻松设置一些文件层次结构并在测试后验证它.最好在ram中实现,以便测试能够快速运行.
我意识到我可能找不到便携式解决方案,因为我的外部实用程序是直接与操作系统文件服务交互的本机程序.Linux是我的主要平台,解决方案就足够了.
也许这不会直接回答你的问题,但在这种情况下,我倾向于在测试设置期间创建一个临时目录并在拆卸时将其删除.当然,您还必须确保应用程序写入此临时目录.我总是有一个配置选项定义目标目录,我可以在测试期间覆盖它.
当谈到断言时我使用plain File.exist?或者File.directory?,当然你可以在它周围创建自己的包装器.如果您需要一些初始状态,您可以构建一个可用作夹具的目录,并在测试设置期间将其复制到临时目录.
| 归档时间: |
|
| 查看次数: |
5128 次 |
| 最近记录: |