如何:配置测试部署
更新:2007 年 11 月
测试引擎可在您创建或生成测试的文件夹中运行测试,或者在单独的部署文件夹中运行测试。有关更多信息,请参见测试部署概述。
部署文件夹可以是本地文件夹,也可以是远程文件夹。当您使用控制器和代理时,将发生远程测试部署;有关远程部署的更多信息,请参见控制器、代理和远程测试机组 (Rig)。
设置部署选项
可以通过以下方式控制测试部署:
启用或禁用部署。您可以选择是启用部署还是禁用部署;即,是在部署文件夹中运行测试,还是就地运行测试。有关更多信息,请参见启用和禁用测试部署。
说明:
如果进行智能设备测试,请启用测试部署。如果禁用部署,智能设备测试将不会运行。
选择部署项。对于本地测试部署,测试引擎在运行测试之前将部署项(包括文件和文件夹)复制到您计算机上的某个文件夹中。有关复制部署项的顺序的信息,请参见部署顺序。有关如何选择要复制的其他部署项的信息,请参见选择部署项。
启用和禁用测试部署
默认情况下,测试部署处于启用状态。您可以在测试运行配置对话框中更改此设置,如下列过程所述。
启用测试部署
在解决方案资源管理器的“解决方案项”之下双击要编辑的运行配置文件。
随即出现一个对话框,它具有诸如“<run config file name>.testrunconfig”之类的名称。
单击“部署”。
选中“启用部署”复选框。
此更改仅为当前测试运行配置启用部署。
禁用测试部署
在解决方案资源管理器的“解决方案项”之下双击要编辑的运行配置文件。
随即出现一个对话框,它具有诸如“<run config file name>.testrunconfig”之类的名称。
单击“部署”。
清除“启用部署”复选框。
请注意有关做出此选择的以下说明:
此更改仅为当前测试运行配置禁用部署。
此设置控制两方面的测试部署:实际测试的部署以及您可以指定的项的部署。有关测试部署的所有方面的更多信息,请参见测试部署概述。
如果正在进行智能设备测试,请不要禁用测试部署。如果禁用部署,智能设备测试将不会运行。
禁用部署还将禁止收集代码覆盖率数据。若要在测试运行中收集代码覆盖率数据,必须首先重新启用测试部署。
选择部署项
以下过程可用于确定要复制的文件或文件夹,它们的作用范围有所不同。第一个过程为运行配置设置部署项。只要该运行配置处于活动状态,就会复制这些项。第二和第三个过程仅适用于一种测试方法;它们确定在 Visual Studio Team System Test Edition 运行特定测试之前要复制哪些文件。
在运行配置中选择要部署的文件或文件夹
在解决方案资源管理器的“解决方案项”之下双击要编辑的运行配置文件。
随即出现一个对话框,它具有诸如“<run config file name>.testrunconfig”之类的名称。
单击“部署”。
在“要部署的其他文件或目录”下,指定要复制的其他文件或文件夹。要执行此操作,请单击“添加文件”选择文件;此时将打开“添加部署文件”对话框。也可以单击“添加目录”,通过使用“添加部署目录”对话框来选择文件夹。
在 .testrunconfig 对话框中单击“保存”,再单击“确定”。
只要此运行配置文件处于活动状态,这些部署项就会被复制到部署文件夹中。
使用“部署项”属性部署单个测试的项
在“测试视图”窗口或“测试列表编辑器”中选择一个测试。
按 F4。
将显示该测试的“属性”窗口。
单击“部署项”属性。
值列中将出现一个省略号 (…)。
单击该省略号。
随即出现“字符串集合编辑器”对话框。
在运行该测试之前,键入要复制到测试部署文件夹中的文件夹或文件的路径。按“Enter”并键入其他路径,以指定要部署的其他文件夹和文件。
说明:
可以在部署项的路径中使用环境变量。有关示例,请参见 DeploymentItemAttribute。
单击“确定”。
除了在用于该测试的运行配置中指定的部署项以外,还将部署您所指定的部署项。
说明:
对于单元测试,指定这些部署项的代码将写入该测试的源代码中的 DeploymentItem 属性中。
使用 DeploymentItem 属性部署单个测试的项
打开包含单元测试的源代码文件。有关更多信息,请参见如何:创作单元测试。
在 TestMethod 属性下,添加一个 DeploymentItem 属性。
对于 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 属性只能在测试方法上使用,而不能在测试类上使用。
保存并关闭该单元测试源代码文件。
运行测试时,除了将部署在用于该测试的运行配置中指定的部署项以外,还将部署您指定的部署项。
部署顺序
部署项将按特定顺序进行复制。如果存在同名的部署项,则后复制的部署项将覆盖先复制的部署项。例如,在运行配置中指定的部署项将比为单个测试指定的项后复制。
下面的列表按优先级从高到低的顺序排列。也就是说,先列出的项将覆盖后列出的项。在下面的列表中,某些项将自动部署到部署文件夹中;其中包括测试程序集、已检测的二进制文件和依赖程序集。
构成测试的一个或多个文件。这包括用于单元测试的测试程序集、用于手动测试的文本或 .mht 文件或用于其他测试类型(如一般测试)的其他类型的文件。
已检测的二进制文件。这是经过检测的二进制文件,例如,用于启用代码覆盖率。
说明:
如果正在使用就地检测,则首先检测二进制文件,然后将其复制到部署目录中;否则将首先复制二进制文件再进行检测。就地检测是本地运行的测试的默认设置;可以在运行配置中更改此设置。
在运行配置中指定的项。
依赖项,例如,应用程序配置文件和依赖程序集。
每个测试的部署项。其中包括为测试方法指定的项。