1

使用 VS2008,我们想模拟一个大小为 X 的文件,但在 XY 字节处读取失败,因此我们得到错误指示。

任何人都知道如何在 Windows 上执行此操作?看起来有适用于 linux 的解决方案,但我真的想不出在 Windows 上执行此操作的方法。我们有多个开发人员、多台机器和 cppunit 测试框架,所以我想要一个纯软件设计。

我正在尝试模拟实际的 CRT 失败,因此我可以测试处理失败的代码。

4

2 回答 2

4

将文件 I/O 函数包装在一个类中;覆盖测试派生类中的那些;用假的或模拟的来模拟失败。

于 2010-05-24T15:09:22.807 回答
0

我不确定这是否可行,但您可以尝试创建一个文件,然后在 xy 字节处截断它,在该位置创建一个带有标题的新文件。不过,我不知道你会怎么做。另一个想法是打开文件,查找之前的字节,然后更改权限,这样您就不能再读取文件了——尽管如果有文件锁,您就必须解决这个问题。

不过,我对 Windows 文件系统不是很熟悉,所以这些只是猜测。

于 2010-05-24T15:12:52.097 回答