测试部署概述

更新:2007 年 11 月

Visual Studio Team System Test Edition 可在创建或生成测试的文件夹中运行测试,或者在一个单独的部署文件夹中运行它们。通过进行测试运行配置设置,您可以选择是否要启用测试部署。有关更多信息,请参见如何:配置测试部署

通过测试部署启用的分离有助于确保获得更干净的测试运行,进而确保获得更加准确的测试结果。在部署步骤中,在运行测试之前,Test Edition 会将部署项(即文件和文件夹)复制到相应的部署文件夹中。Test Edition 会复制下列类型的文件:

  • 测试二进制文件,例如,从测试项目生成的程序集,或一般测试的二进制文件。

  • 所有依赖程序集。有关更多信息,请参见 Test Edition 疑难解答

  • 指定的测试所依赖的文件,例如 XML 文件和配置文件。可以用两种方式来配置部署:一种是指定要复制的其他部署项,一种是更改相应的部署文件夹。有关更多信息,请参见如何:配置测试部署

    说明:

    选择启用或禁用测试部署将控制对该列表中所有项的部署:测试文件、依赖程序集和显式指定的文件。有关启用和禁用测试部署的更多信息,请参见如何:配置测试部署

有关在运行测试时执行的所有步骤(包括部署步骤)的更多信息,请参见测试运行中的步骤

两种部署案例

部署分为两种:本地部署和远程部署。

  • 本地测试运行。默认情况下,测试会在装有 Visual Studio 的同一台计算机上本地运行。在这种情况下,部署项和测试二进制文件会复制到本地部署文件夹中并在此运行。有关更多信息,请参见本地部署文件夹。

  • 远程测试运行。远程运行涉及使用代理和控制器。首先,将部署项复制到本地部署文件夹中,对于当前测试运行,就是 [Out] 文件夹中;请参见本地部署文件夹。然后,将它们复制到控制器计算机上的部署文件夹中,再从此处复制到一台或多台代理计算机上的部署文件夹中。最终,将在代理计算机上运行测试并返回结果。有关代理和控制器的更多信息,请参见控制器、代理和远程测试机组 (Rig)

本地部署文件夹

在运行解决方案的测试时,Visual Studio 会在名为 TestResults 的文件夹下面创建具有解决方案层次结构的部署文件。如果 TestResults 文件夹不存在,Visual Studio 会创建它。

说明:

如果使用 Visual Studio IDE,此文件夹便会直接创建在解决方案文件夹之下;如果没有使用 Visual Studio IDE,TestResults 文件夹便会创建在当前文件夹之下。

每次启动测试运行时,Test Edition 都会在 TestResults 文件夹下创建一组专门供该测试运行使用的文件夹。这一组文件夹中的顶层文件夹根据测试运行而命名。如下面插图中的示例所示,TestResults 下的第一个文件夹为“<用户名>@<计算机名><日期> <时间>”,它就是按“<用户名>@<计算机名><日期> <时间>”测试运行而命名的。

用于测试的本地部署文件夹

本地测试运行的部署文件夹

正如前面插图中所显示的那样,解决方案 ClassLibrary1 中包含两个项目:ClassLibary1 和 TestProject1。由于测试已经运行,所以此解决方案中还包含一个名为 TestResults 的文件夹。对于每个测试运行,TestResults 文件夹中都包含一个对应的测试结果文件。此测试结果文件按测试运行命名,且带有 .trx 扩展名。

TestResults 文件夹下还将创建一些其他的文件夹,如下所述:

  • 测试运行文件夹。在 TestResults 文件夹下,为已启动的每个测试运行都建立了一个文件夹。正如“测试结果”窗口和“测试运行”窗口中所显示的,测试运行文件夹与测试运行同名。测试运行名称的默认格式为 <用户名>@<计算机名> <日期> <时间>。测试运行文件夹中还包含在测试运行前后运行的清理脚本,如测试运行中的步骤中所述。

  • Out 文件夹和子文件夹。每个测试运行文件夹都包含一个名为 Out 的文件夹。Out 文件夹是测试运行中的步骤中所指的实际部署文件夹。即,每次启动测试运行时,都要将测试运行所需的程序集及其他文件或文件夹复制到 <解决方案>\TestResults\<测试运行>\Out 文件夹中。

  • In 文件夹和子文件夹。每个测试运行文件夹都包含一个名为 In 的文件夹,当生成特定的测试结果时,这些结果便会存储在 In 文件夹或其子文件夹中,如测试运行中的步骤中所述。例如,代码覆盖率结果就存储在一个名为 data.coverage 的文件中,而该文件又存储在以运行测试的计算机命名的子文件夹中。

    安全说明:

    在智能设备宿主下运行测试时,设备的 In 文件夹的文件将复制回桌面。为防止执行不受信任的文件,Visual Studio 向所有不以 .txt 或 .log 结尾的文件都追加 .txt。

选择测试主机

复制部署项后,将在测试运行配置中选择测试主机下运行测试。大多数测试都在部署文件夹中的默认 Visual Studio 测试主机下运行。但是,某些类型的测试必须在其他测试主机下运行,如下所述:

  • ASP.NET 主机。当运行必须在 IIS 或 ASP.NET 部署服务器进程下运行的测试(例如 ASP.NET 单元测试)时应选择该主机。有关更多信息,请参见 ASP.NET 单元测试概述

  • 智能设备主机。当运行必须在智能设备或仿真程序上运行的测试(例如智能设备单元测试)时应选择该主机。有关更多信息,请参见智能设备单元测试概述

有关如何选择测试主机的信息,请参见如何:指定测试运行配置

测试部署疑难解答

下列问题可能会导致文件无法部署:

  • **未找到文件。**如果文件是使用绝对路径指定的,请确保该路径存在。此外,请确保使用绝对路径将该文件签入到源代码管理中。

    如果您使用的是相对路径,请确保根目录位于所需的位置。如果路径中包含环境变量,请确保该变量的设置正确无误。如果您使用的是相对路径,而且该路径中包括特定于配置的目录(如 Debug\bin\program.xls),那么,您当前使用的是否为另一个配置,因此该文件不位于预期的位置中?

  • **访问被拒绝。**请确保您有权访问必须复制到部署文件夹的文件。

  • **文件位于网络共享位置中。**如果因该文件位于网络共享位置中而无法对其进行复制,请将该文件复制到本地计算机上,并指示必须从新位置中部署该文件。然后再次运行测试。

请参见

任务

如何:配置测试部署

如何:指定测试运行配置

如何:删除测试结果

概念

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

测试运行中的步骤

其他资源

测试 Web 服务