首先,如果已经提出要求,请道歉。我搜索过,但无法找到与此问题有关的任何内容...
我在使用CodedUI时遇到了很大的问题。在我的例子中,我将我的软件部署到一个环境,然后在这个环境下通过visual studio运行自动化测试。当测试开始时,测试代理似乎将文件按照它的意愿复制到运行测试的临时目录中,如本页所示:
https://msdn.microsoft.com/en-us/library/ms182475(v=vs.100).aspx
以下文件和文件夹将复制到部署文件夹 在测试运行之前:
•测试装配文件
•所有依赖程序集
•您指定的文件,例如XML文件和配置 文件,测试依赖于哪些文件。您可以通过配置部署 指定要复制的其他部署项目并进行更改 部署文件夹。
我的问题是我的测试引用了我环境中存在的文件。进入目录
" C:\ Program Files(x86)\ Common Files \ Microsoft 共享\ VSTT \ 12.0 \ UITestExtensionPackages"
我已经放置了一个扩展包,允许我与一些第三方WPF UI组件进行交互。这是在环境中实现的,我在Visual Studio中的测试项目都将该位置的文件作为依赖项引用,并且具有" Copy Local"设置为false和"特定版本"设置为true。
测试代理启动测试时会出现问题,并将其认为需要的所有文件复制到临时测试目录。它还会复制此扩展文件,导致每个测试都失败并显示错误:
System.InvalidCastException: [A]<type here> cannot be cast to [B]<same
type here>
因为它似乎引用了我故意放置的那个以及代理复制的那个。如果我手动进入并删除文件,则测试将开始通过。
我的问题是:如何阻止测试代理复制此文件?我知道文件将始终位于我放置的位置,并且不需要将其复制过来。