如何:配置测试部署

更新:2007 年 11 月

测试引擎可在您创建或生成测试的文件夹中运行测试,或者在单独的部署文件夹中运行测试。有关更多信息,请参见测试部署概述

部署文件夹可以是本地文件夹,也可以是远程文件夹。当您使用控制器和代理时,将发生远程测试部署;有关远程部署的更多信息,请参见控制器、代理和远程测试机组 (Rig)

设置部署选项

可以通过以下方式控制测试部署:

  • 启用或禁用部署。您可以选择是启用部署还是禁用部署;即,是在部署文件夹中运行测试,还是就地运行测试。有关更多信息,请参见启用和禁用测试部署。

    说明:

    如果进行智能设备测试,请启用测试部署。如果禁用部署,智能设备测试将不会运行。

  • 选择部署项。对于本地测试部署,测试引擎在运行测试之前将部署项(包括文件和文件夹)复制到您计算机上的某个文件夹中。有关复制部署项的顺序的信息,请参见部署顺序。有关如何选择要复制的其他部署项的信息,请参见选择部署项。

启用和禁用测试部署

默认情况下,测试部署处于启用状态。您可以在测试运行配置对话框中更改此设置,如下列过程所述。

启用测试部署

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

    随即出现一个对话框,它具有诸如“<run config file name>.testrunconfig”之类的名称。

  2. 单击“部署”。

  3. 选中“启用部署”复选框。

    此更改仅为当前测试运行配置启用部署。

禁用测试部署

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

    随即出现一个对话框,它具有诸如“<run config file name>.testrunconfig”之类的名称。

  2. 单击“部署”。

  3. 清除“启用部署”复选框。

    请注意有关做出此选择的以下说明:

    • 此更改仅为当前测试运行配置禁用部署。

    • 此设置控制两方面的测试部署:实际测试的部署以及您可以指定的项的部署。有关测试部署的所有方面的更多信息,请参见测试部署概述

    • 如果正在进行智能设备测试,请不要禁用测试部署。如果禁用部署,智能设备测试将不会运行。

    • 禁用部署还将禁止收集代码覆盖率数据。若要在测试运行中收集代码覆盖率数据,必须首先重新启用测试部署。

选择部署项

以下过程可用于确定要复制的文件或文件夹,它们的作用范围有所不同。第一个过程为运行配置设置部署项。只要该运行配置处于活动状态,就会复制这些项。第二和第三个过程仅适用于一种测试方法;它们确定在 Visual Studio Team System Test Edition 运行特定测试之前要复制哪些文件。

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

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

    随即出现一个对话框,它具有诸如“<run config file name>.testrunconfig”之类的名称。

  2. 单击“部署”。

  3. 在“要部署的其他文件或目录”下,指定要复制的其他文件或文件夹。要执行此操作,请单击“添加文件”选择文件;此时将打开“添加部署文件”对话框。也可以单击“添加目录”,通过使用“添加部署目录”对话框来选择文件夹。

  4. 在 .testrunconfig 对话框中单击“保存”,再单击“确定”。

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

使用“部署项”属性部署单个测试的项

  1. 在“测试视图”窗口或“测试列表编辑器”中选择一个测试。

  2. 按 F4。

    将显示该测试的“属性”窗口。

  3. 单击“部署项”属性。

    值列中将出现一个省略号 (…)。

  4. 单击该省略号。

    随即出现“字符串集合编辑器”对话框。

  5. 在运行该测试之前,键入要复制到测试部署文件夹中的文件夹或文件的路径。按“Enter”并键入其他路径,以指定要部署的其他文件夹和文件。

    说明:

    可以在部署项的路径中使用环境变量。有关示例,请参见 DeploymentItemAttribute

  6. 单击“确定”。

    除了在用于该测试的运行配置中指定的部署项以外,还将部署您所指定的部署项。

    说明:

    对于单元测试,指定这些部署项的代码将写入该测试的源代码中的 DeploymentItem 属性中。

使用 DeploymentItem 属性部署单个测试的项

  1. 打开包含单元测试的源代码文件。有关更多信息,请参见如何:创作单元测试

  2. 在 TestMethod 属性下,添加一个 DeploymentItem 属性。

  3. 对于 DeploymentItem 属性的参数,指定要为该测试部署的文件夹或文件。可以使用绝对路径,也可以使用相对路径。相对路径是相对于 .testrunconfig 文件中的 RelativePathRoot 设置。

    在 C# 中的示例:

    [TestMethod]

    [DeploymentItem("MyTestProject\\testdatasource.mdb")]

    public void TestMethod1()

    {

    // TODO: Add test logic here

    }

    在 Visual Basic 中的示例:

    <TestMethod()> _

    <DeploymentItem("MyTestProject\\testdatasource.mdb")> _

    Public Sub TestMethod1()

    ' TODO: Add test logic here

    End Sub

    说明:

    DeploymentItem 属性只能在测试方法上使用,而不能在测试类上使用。

  4. 保存并关闭该单元测试源代码文件。

    运行测试时,除了将部署在用于该测试的运行配置中指定的部署项以外,还将部署您指定的部署项。

部署顺序

部署项将按特定顺序进行复制。如果存在同名的部署项,则后复制的部署项将覆盖先复制的部署项。例如,在运行配置中指定的部署项将比为单个测试指定的项后复制。

下面的列表按优先级从高到低的顺序排列。也就是说,先列出的项将覆盖后列出的项。在下面的列表中,某些项将自动部署到部署文件夹中;其中包括测试程序集、已检测的二进制文件和依赖程序集。

  1. 构成测试的一个或多个文件。这包括用于单元测试的测试程序集、用于手动测试的文本或 .mht 文件或用于其他测试类型(如一般测试)的其他类型的文件。

  2. 已检测的二进制文件。这是经过检测的二进制文件,例如,用于启用代码覆盖率。

    说明:

    如果正在使用就地检测,则首先检测二进制文件,然后将其复制到部署目录中;否则将首先复制二进制文件再进行检测。就地检测是本地运行的测试的默认设置;可以在运行配置中更改此设置。

  3. 在运行配置中指定的项。

  4. 依赖项,例如,应用程序配置文件和依赖程序集。

  5. 每个测试的部署项。其中包括为测试方法指定的项。

请参见

任务

如何:配置测试项目创建

如何:配置 Test Edition 的对话框

概念

测试部署概述

控制器、代理和远程测试机组 (Rig)

对程序集进行检测和重新签名

参考

DeploymentItemAttribute

其他资源

配置测试执行