【问题标题】:How to simulate a file read error in the CRT如何在 CRT 中模拟文件读取错误
【发布时间】:2010-05-24 15:03:52
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ windows unit-testing visual-c++ visual-c++-2008


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-02
        相关资源
        最近更新 更多