我使用的是VS2010。在我的测试项目中,我有一个名为“MessageInstances”的文件夹,在该文件夹中有一个子文件夹“GET_ACTIVITY”,在该文件夹中有xml文件。
当我运行测试时,应该将这些文件相应地复制到out assembly目录,即如果Out
是我的测试项目输出被复制的文件夹,那么Out\MessageInstances\GET_ACTIVITY\
文件夹应该填充我的xml文件。
我尝试了*.testsettings
文件的不同设置,尝试从Resharper unit test runner和VS'运行测试,但都没有将文件复制到正确的文件夹中。我也使用了DeploymentItem
属性,但仍然没有成功。
我还能尝试什么?
答案 0 :(得分:3)
仅当项目上的构建操作设置为内容且复制到输出目录设置为<时,DeploymentItem属性才有效strong>复制如果较新或立即复制。此外,如果您的测试使用testsettings文件运行,则需要在设置中启用Deployment。确保您正在编辑活动的测试运行配置,以防您有多个。
您的DeploymentItem应定义如下:
[DeploymentItem("MessageInstances\\GET_ACTIVITY\\", "MessageInstances\\GET_ACTIVITY")]
或使用'@'代替'\\'
[DeploymentItem(@"MessageInstances\GET_ACTIVITY\", @"MessageInstances\GET_ACTIVITY")]
即。您需要指定输出目录,否则文件将被复制到测试运行的Out目录中。
答案 1 :(得分:1)
如果您在解决方案资源管理器中显示文件的属性,请验证文件是否设置为Build Action: Content
和Copy to output director: Always
答案 2 :(得分:0)
我的一些同事遇到了与ReSharper MS测试跑步者类似的问题。 该错误特定于ReSharper 7.1,并已在当前的7.1.1中修复。
请参阅http://youtrack.jetbrains.com/issue/RSRP-335233#tab=Comment
答案 3 :(得分:0)
每MSDN,如果有帮助,你也可以尝试这个,
在运行配置中选择要部署的文件或文件夹
在“解决方案资源管理器”中的“解决方案项”下,双击要编辑的运行配置文件。
出现一个名称如.testrunconfig的对话框。 单击“部署”。
在要部署的其他文件或目录下,指定要复制的其他文件或文件夹。
要执行此操作,请单击“添加文件”以选择文件;这将打开“添加部署文件”对话框。
您还可以使用“添加部署目录”对话框单击“添加目录”以选择文件夹。
在.testrunconfig对话框中,单击“保存”,然后单击“确定”。
只要此运行配置文件处于活动状态,这些部署项就会被复制到部署文件夹中。
希望这会有所帮助。