规范/自动化测试 - 使目录无法访问

时间:2014-10-23 17:55:16

标签: c# cucumber directory specflow

所以我们正在使用C#/ Specflow,我有一个读取的测试

Given The publish directory can not be accessed

正在测试的应用程序从目录读取/写入文件,首先检查它是否存在,如果不存在则抛出异常。我正在测试抛出此异常。我需要做的是在测试期间使目录不可访问。

我看到的选项是:

  • 在测试期间通过覆盖其配置(Windows注册表)来更改其访问的目录。

  • 重命名它在测试期间访问的目录。

  • 在测试期间更改目录的权限。

这些看起来都不理想,如果可能的话,我想单独留下测试服务器。谁能告诉我更好的解决方案呢?

1 个答案:

答案 0 :(得分:2)

您未指定的选项是模拟接口后面的文件访问,然后让模拟模拟无法访问。

这样做的好处是不需要为测试更改任何内容,但意味着它不再是集成测试。如果你没有模拟而是改变配置/文件夹访问权限,那么这个测试将需要确保在任何其他测试运行时它不会运行,因为它们可能因为这些更改而失败。

This question举例说明了如何简单地执行此操作,并且还链接了this librarythis library,这可能会有所帮助。