我试图为一个小C#
例程编写集成测试,该例程读取不同的文件。
而且,好吧,我不小心认为进行测试会很棒,该测试会指定拒绝访问该文件时的情况。
有没有人知道在测试沙箱中模拟它的一种简单明了的方法?
我怀疑这可以使用DirectorySecurity,
进行模拟,但是,我不确定是否可以针对所有情况正确执行此操作:
假设,例如,我可以剥离正在运行测试的当前用户的访问规则(这也需要UAC / Elevation)。
我想在这种情况下,我将失去恢复这些权利的能力,并在测试完成后正确处理我的沙盒(不会潜入模仿和访问令牌操作等内容)。
我可能可以使用Moles
或任何其他基于模拟的方法执行此操作,但我对一般解决方案更感兴趣(例如,将本测试重用于本机应用程序)
我错过了什么?有任何简单的方式吗?
答案 0 :(得分:4)
您没有明确表示您希望通过安全设置实现此目的,因此,为什么不在其他地方获得对该文件的独占访问权?
using(File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
//hold here to keep file locked
}