在我们的应用程序中,我们想检查磁盘空间异常。在不使用大量块文件的情况下模拟这种情况的最佳方法是什么?模拟磁盘空间异常
模拟磁盘空间异常
回答
有很多方法(虚拟驱动器,小分区,甚至一个巨大的文件来填充您的测试分区)。
通常我更喜欢使用磁盘配额,因为它的快速改变(让我的手在几秒钟内测试,但我也可以将它集成在我的自动化测试),我可以自由地尝试不同的条件(低磁盘空间,非常低的磁盘空间,磁盘满)。此外,您还可以不同地处理“磁盘配额不足”和“磁盘已满”(如果需要)。
为特定用户分配磁盘配额并使用该凭据运行该应用程序。如果配额足够小,您可以模拟磁盘空间不足(您可以使用各种值检查而不会创建大量文件)。
它可以通过command line完成through UI或者干脆fsutil
:
fsutil quota modify k: 1000000
我可以使用fsutil文件createnew命令创建一个大文件。是否会引起其他问题? – 2012-03-20 09:06:34
是的,当然你可以(因为你可以使用虚拟机),但如果你的硬盘很大,可能需要很长时间,这取决于你感觉更舒适。通常我更喜欢配额,因为我可以检查几个不同的条件而不更改分区,我可以在几秒钟内模拟我想要的(压力测试很无聊,我们知道)。 – 2012-03-20 09:22:53
throw new System.IO.IOException("There is not enough space on the disk.");
如果您使用的是Windows 7或Windows 2008 R2,您可以创建一个small virtual disk,它安装有测试您的应用程序。这样,“低磁盘空间”磁盘就与O.S.隔离。磁盘和其他应用程序。
为此,请打开“磁盘管理”,然后选择“创建VHD”。选择一个合适的小尺寸,创建磁盘,初始化它,然后映射它。
或者,您可以使用DiskPart
命令行实用程序创建并装载虚拟磁盘。
VHD本身只是主磁盘上的一个文件;这意味着您可以将VHD与任何测试套件一起发货,并在运行测试之前安装它。这使您比基于更多“基于系统”的方法(如更改磁盘配额)更具优势,因为它可以以最小的努力自动进入您的测试。
- 1. 虚拟机增加磁盘空间并达到磁盘空间不足问题
- 2. Azure虚拟机磁盘空间不足
- 3. OSX,android模拟器,Xamarin =没有磁盘空间
- 4. 广告磁盘空间vs实际磁盘空间
- 5. 如何使用iOS模拟器模拟磁盘空间不足情况?
- 6. 模拟磁盘I/O
- 7. OpenFeint磁盘空间占用空间
- 8. Powershell磁盘空间检查
- 9. 分析SVN磁盘空间
- 10. Solr保留磁盘空间
- 11. Docker增加磁盘空间
- 12. 清除MySQL磁盘空间
- 13. 磁盘空间错误
- 14. VirtualBox磁盘空间扩展
- 15. MongoDB磁盘空间回收
- 16. Kamon,Statsd,Grafana磁盘空间
- 17. Neo4j,磁盘空间不足
- 18. AllegroGraph占用磁盘空间
- 19. 扩展磁盘空间EC2
- 20. Eclipse .metadata \ .plugins磁盘空间
- 21. 获取磁盘空间错误,但有足够的磁盘空间可用
- 22. 获取使用的总磁盘空间和剩余的磁盘空间?
- 23. 真空不回收磁盘空间
- 24. Windows Phone模拟器无法创建差异磁盘
- 25. 监视Azure虚拟机上的可用磁盘空间
- 26. 虚拟机现在分配所有磁盘空间
- 27. 如何模拟iOS设备上磁盘空间不足的情况?
- 28. 最简单的方法来模拟没有可用磁盘空间的情况?
- 29. 接口模拟gevis空指针异常
- 30. SQLite磁盘IO异常,无法打开数据库异常
对您的应用程序没有任何影响,这很难说 - 例如,您可以使用配置了“小硬盘”的虚拟机,或者您可以模拟访问磁盘的对象并抛出空间异常并查看会发生什么情况。 .. – Yahia 2012-03-20 08:56:53
@Yahia:我可以使用fsutil文件createnew命令创建一个大文件。是否会引起其他问题? – 2012-03-20 09:06:53
你可以但由于磁盘被整个操作系统(其他程序等)使用,你可以使整个机器不稳定(取决于其他软件运行)... – Yahia 2012-03-20 09:09:28