测试环境不会复制我的文件

时间:2012-02-01 13:51:57

标签: visual-studio-2010 unit-testing

我使用的是VS2010。在我的测试项目中,我有一个名为“MessageInstances”的文件夹,在该文件夹中有一个子文件夹“GET_ACTIVITY”,在该文件夹中有xml文件。

当我运行测试时,应该将这些文件相应地复制到out assembly目录,即如果Out是我的测试项目输出被复制的文件夹,那么Out\MessageInstances\GET_ACTIVITY\文件夹应该填充我的xml文件。

我尝试了*.testsettings文件的不同设置,尝试从Resharper unit test runner和VS'运行测试,但都没有将文件复制到正确的文件夹中。我也使用了DeploymentItem属性,但仍然没有成功。

我还能尝试什么?

4 个答案:

答案 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: ContentCopy 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,如果有帮助,你也可以尝试这个,

在运行配置中选择要部署的文件或文件夹

在“解决方案资源管理器”中的“解决方案项”下,双击要编辑的运行配置文件。

出现一个名称如.testrunco​​nfig的对话框。 单击“部署”。

在要部署的其他文件或目录下,指定要复制的其他文件或文件夹。

要执行此操作,请单击“添加文件”以选择文件;这将打开“添加部署文件”对话框。

您还可以使用“添加部署目录”对话框单击“添加目录”以选择文件夹。

在.testrunco​​nfig对话框中,单击“保存”,然后单击“确定”。

只要此运行配置文件处于活动状态,这些部署项就会被复制到部署文件夹中。

希望这会有所帮助。