模拟';访问被拒绝';对于C#/Windows中的文件
本文关键字:Windows 文件 拒绝 访问 模拟 对于 | 更新日期: 2023-09-27 17:58:15
我正试图为一个小型C#
例程编写集成测试,该例程读取不同的文件。
而且,我意外地认为,有一个测试会很好,它指定了当对该文件的访问被拒绝时的行为
有人知道在测试沙箱中模拟它的一种简单方法吗?
-
我怀疑这可以使用
DirectorySecurity,
来模拟,但是,我真的不确定是否有可能在所有情况下都正确地进行:例如,假设我可以剥离正在运行测试的当前用户的访问规则(这也需要UAC/Elevation)。
我想在这种情况下,我将失去恢复这些权限的能力,并在测试完成后正确处理我的沙盒(而不必深入到模拟和访问令牌操作等方面)。
-
我可能可以使用
Moles
或任何其他基于mock的方法来实现这一点,但我更感兴趣的是通用解决方案(例如,为本机应用程序重用此测试)。
我错过了什么?有任何简单的方法可以做到这一点吗?
您并没有明确表示要通过安全设置来实现这一点,那么,为什么不在其他地方获得对该文件的独占访问权限呢?
using(File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
//hold here to keep file locked
}