规范流/自动测试-使目录不可访问

本文关键字:访问 范流 自动测试 | 更新日期: 2023-09-27 18:27:33

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

Given The publish directory can not be accessed

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

在我看来,选项是:

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

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

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

这些似乎都不理想,如果可能的话,我想让测试服务器一个人呆着。有人能告诉我一个更好的解决方案吗?

规范流/自动测试-使目录不可访问

您没有指定的一个选项是模拟接口后面的文件访问,然后让mock模拟缺少访问。

这样做的好处是不需要为测试更改任何内容,但意味着它不再是集成测试。如果您不模拟并更改配置/文件夹访问权限,则此测试将需要确保在运行任何其他测试时不会运行,因为这些更改可能会导致测试失败。

这个问题提供了一个如何简单地做到这一点的例子,还链接了这个库和这个库,这可能会有所帮助。