在我们的应用程序中,我们要检查磁盘空间异常。在不使用大量块文件的情况下模拟这种情况的最佳方法是什么。
答案 0 :(得分:7)
有许多方法(虚拟驱动器,小分区,甚至是填满测试分区的巨大文件)。
通常我更喜欢使用磁盘配额,因为它可以快速更改(因此我可以在几秒钟内手动测试,但我也可以将其集成到我的自动化测试中)并且我可以自由尝试不同的条件(磁盘空间不足,磁盘空间非常低,磁盘已满)。此外,您还可以不同地处理“磁盘不足配额”和“磁盘已满”(如果需要)。
为特定用户分配磁盘配额,并使用该凭据运行应用程序。如果配额足够小,您可以模拟磁盘空间不足(并且可以使用各种值进行检查,而无需创建大量文件)。
可以through UI完成,也可以command line使用fsutil
完成:
fsutil quota modify k: 1000000
答案 1 :(得分:3)
如果您使用的是Windows 7或Windows 2008 R2,则可以创建small virtual disk,安装它并在那里测试您的应用程序。这样,“低磁盘空间”磁盘与O.S.隔离。磁盘和其他应用程序。
要执行此操作,请打开“磁盘管理”,然后选择“创建VHD”。选择一个适当的小尺寸,创建磁盘,初始化它,然后映射它。
或者,您可以使用DiskPart
命令行实用程序创建和装载虚拟磁盘。
VHD本身只是主磁盘上的一个文件;这意味着您可以使用任何测试套件发送VHD,并在运行测试之前安装它。这使您比更多基于“系统”的方法(例如更改磁盘配额)更具优势,因为它可以轻松自动化到您的测试中。
答案 2 :(得分:2)
throw new System.IO.IOException("There is not enough space on the disk.");