14

这是问题所在:
1. 在您的 Visual Studio 解决方案中创建一个 TestProject。
2. 打开 .testrunco​​nfig 文件并在“部署”菜单项下,选中“启用部署”复选框。
3. 现在单击“添加目录...”按钮并添加一个包含一些文件的文件夹。
4. 运行测试项目(使用虚拟测试)。

好的,现在去检查 TestResults 文件夹:您将看到所有文件都被直接复制(到顶层)- 文件夹本身没有被复制(它们下面的文件)。这在测试过程中弄乱了我的路径。谁能告诉如何复制文件夹而不仅仅是下面的文件?

谢谢。

4

4 回答 4

17

在使用它的测试类上使用该[DeploymentItem]属性。您可以指定一个目录:

[TestClass]
[DeploymentItem("blahblah\\myDirectory", "myDirectory")]
public class MyTest
{

}

笔记:

  • 开始测试时,DeploymentItem 非常慢。似乎每秒复制 2 个文件。
  • 您可以在测试基类上指定属性。但是,如果您有多个测试项目,它并不总是有效。
  • 您可能可以在具有标记为方法的 TestClass 上指定它[AssemblyInitialize]。那么您只需提供一次。不确定,你必须尝试。
  • 源目录是相对于解决方案位置的。这几乎没有记录。
于 2009-04-15T11:45:20.377 回答
11

在记事本中打开 .testsettings 文件。现在,您应该看到每个要复制的文件夹

<DeploymentItem filename="FolderName\" />

将此更改为

<DeploymentItem filename="FolderName\" outputDirectory="FolderName\" /> 
于 2010-08-27T23:52:33.410 回答
0

您拥有的另一个选项是在原始文件夹下创建另一个文件夹,然后该文件夹将部署到 out 目录。例如,您可以具有以下结构:

测试文件夹/

测试文件夹/测试部署/

然后在 testrunco​​nfig 中仍然选择 TestFolder 文件夹,TestDeployment 文件夹将部署到 out 目录。

于 2009-09-16T19:09:14.110 回答
0

我今天也刚遇到这个问题。我通过在包含所需文件夹的项目中添加一个名为“deployment_files”的文件夹来解决它。然后我将所需的文件夹放入“deployment_files”文件夹中。然后,我在解决方案资源管理器的“解决方案项目”文件夹下打开了 LocalTestRun.testrunco​​nfig 文件。转到 testrunco​​nfig 属性窗口中的“部署”面板。将“deployment_files”目录添加到部署中,瞧。其中的文件夹被复制到测试结果输出文件夹中。

于 2011-03-29T18:22:54.407 回答