模拟磁盘空间异常

时间:2012-03-20 08:54:05

标签: c# .net windows out-of-memory

在我们的应用程序中,我们要检查磁盘空间异常。在不使用大量块文件的情况下模拟这种情况的最佳方法是什么。

3 个答案:

答案 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.");