当前位置:  开发笔记 > 后端 > 正文

在集成测试中模拟文件系统

如何解决《在集成测试中模拟文件系统》经验,为你挑选了3个好方法。

我正在编写一个执行一些外部命令行实用程序的ruby程序.我如何从我的rspec测试模拟文件系统,以便我可以轻松设置一些文件层次结构并在测试后验证它.最好在ram中实现,以便测试能够快速运行.

我意识到我可能找不到便携式解决方案,因为我的外部实用程序是直接与操作系统文件服务交互的本机程序.Linux是我的主要平台,解决方案就足够了.



1> narsk..:

你检查过FakeFS还是MockFS

注意:MockFS的原始链接不起作用.它看起来像它不再被保留.



2> Adam Byrtek..:

也许这不会直接回答你的问题,但在这种情况下,我倾向于在测试设置期间创建一个临时目录并在拆卸时将其删除.当然,您还必须确保应用程序写入此临时目录.我总是有一个配置选项定义目标目录,我可以在测试期间覆盖它.

当谈到断言时我使用plain File.exist?或者File.directory?,当然你可以在它周围创建自己的包装器.如果您需要一些初始状态,您可以构建一个可用作夹具的目录,并在测试设置期间将其复制到临时目录.



3> Ilya..:

您可以创建一个大文件(虚拟磁盘的大小)并将该文件作为环回设备挂载.您可以在此设备上创建任何文件系统和目录结构.
您可以创建其中的两个并进行简单的差异比较,以确保测试后的数据完整性.
我希望我能正确理解你的要求,因为我不确定为什么简单的ramdisk解决方案不够好.
这也可能是相关的.


该死,这是一个真正的怪胎答案,但对于大多数Ruby主义者来说可能不是。但是,它应该起作用。我会投票支持极客因素。:-)
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有