当我在执行测试之前构建单元测试项目时,测试输出被复制到TestResults文件夹,然后执行测试.我遇到的问题是并非Debug/bin目录中的所有文件都被复制到TestResults项目中.
如何将复制到Debug/bin目录的文件也复制到TestResults文件夹?
执行此操作的标准方法是在文件中指定部署项.testrunconfig
,可以通过Visual Studio" 测试"菜单或" 解决方案项目"文件夹中的" 编辑测试运行配置"项进行访问.
您可以指定部署属性,如下所示的示例; 此外,您还需要设置"内容"和"复制如果更新"属性(没有关于以后设置的文档,但您已设置这些以使其工作.
[TestMethod] [DeploymentItem("mytestdata.xml")] public void UploadTest() { }
我必须打开"启用部署",Test -> Edit Test Settings -> Local -> Deployment
才能使[DeploymentItem]
属性生效.
根据您的需要,所有三个答案都是正确的.
添加要在.testrunconfig中部署的文件(VS2010 中的.testsettings)会将所有这些文件复制到每个测试输出文件夹,即使是隔离运行的不相关测试也是如此.如果运行一个测试,则会将.testssettings部署部分中列出的所有测试数据文件复制到测试输出文件夹中.
在我的测试中,我需要将预期的XML文件复制到测试输出文件夹,以与实际的测试输出XML进行比较.我使用DeploymentItem属性仅复制与正在运行的测试相关的XML文件.在VS2010中,我必须在.testsettings文件中启用部署(但不添加任何路径),然后引用相对于DeploymentItem中的TestProject的XML文件路径.
希望这可以帮助.