3

我正在尝试为一个C#读取不同文件的小例程编写集成测试。

而且,我不小心认为有一个测试会很棒,它指定了当访问该文件被拒绝时的情况。

有谁知道在测试沙箱中模拟它的好方法吗?


  • 我怀疑这可以使用DirectorySecurity,但是,我不确定是否可以在所有情况下正确地做到这一点:

    假设,例如,我可以为正在运行测试的当前用户剥离访问规则(这也需要 UAC / Elevation)。

    我想在这种情况下,我将无法在测试完成后恢复这些权限并正确处理我的沙箱(无需深入研究模拟和访问令牌操作等内容)。

  • 我可能可以使用Moles或任何其他基于模拟的方法来做到这一点,但我对通用解决方案更感兴趣(例如,将此测试重用于本机应用程序)。

我错过了什么?有什么简单的方法可以做到这一点吗?

4

1 回答 1

4

您并没有明确表示您想通过安全设置来实现这一点,那么为什么不在其他地方获得对文件的独占访问权限呢?

using(File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
    //hold here to keep file locked
}
于 2013-02-08T13:30:51.277 回答