所以我们正在使用C#/ Specflow,我有一个读取的测试
Given The publish directory can not be accessed
正在测试的应用程序从目录读取/写入文件,首先检查它是否存在,如果不存在则抛出异常。我正在测试抛出此异常。我需要做的是在测试期间使目录不可访问。
我看到的选项是:
在测试期间通过覆盖其配置(Windows注册表)来更改其访问的目录。
重命名它在测试期间访问的目录。
在测试期间更改目录的权限。
这些看起来都不理想,如果可能的话,我想单独留下测试服务器。谁能告诉我更好的解决方案呢?
答案 0 :(得分:2)
您未指定的选项是模拟接口后面的文件访问,然后让模拟模拟无法访问。
这样做的好处是不需要为测试更改任何内容,但意味着它不再是集成测试。如果你没有模拟而是改变配置/文件夹访问权限,那么这个测试将需要确保在任何其他测试运行时它不会运行,因为它们可能因为这些更改而失败。
This question举例说明了如何简单地执行此操作,并且还链接了this library和this library,这可能会有所帮助。