演练:创建和运行一般测试

本演练将指导您完成以下过程:将可执行文件作为一般测试进行包装,然后再运行该测试。 首先,将通过使用现有代码示例创建可执行文件。 接下来,将创建一个新的一般测试,并将可执行文件添加到该一般测试。 最后,将运行该测试。

备注

有关一般测试的信息,请参见创建使用一般测试运行可执行文件的自动测试

在本演练中,您将完成以下过程:

  • 创建一个程序(即一个可执行文件)来作为一般测试进行包装。 此程序表示一个第三方测试工具,它可以在程序完成时针对其退出或返回值得出测试通过或失败的结果。 请参见准备演练。

  • 创建一般测试。

  • 运行一般测试。

  • 运行一般测试时传递命令行参数。 有关更多信息,请参见运行一般测试。

  • 在运行一般测试时部署文件。

系统必备

  • Visual Studio 旗舰版, Visual Studio 高级专业版

  • 您必须创建可执行文件 EvenOdd.exe。 为此,请使用一般测试示例中的源代码,然后按照下一个过程“准备演练”中的步骤操作。

准备演练

准备演练

  1. 创建一个新的 Visual C# 控制台应用程序项目。 在 新建项目 对话框的 名称 字段中,键入 EvenOdd 然后选择 确定

    EvenOdd 解决方案将显示在解决方案资源管理器中。 该解决方案中包含一个名为 EvenOdd 的项目。

  2. 在 EvenOdd 项目中,打开源代码文件 Program.cs。

  3. 一般测试示例 中的代码替换 Program.cs 文件中的代码。

  4. 生成解决方案。

    这将创建所需的程序,您将对它进行包装以创建一般测试。

创建一般测试

创建一般测试

  1. 右击 EvenOdd 解决方案,指向 添加,然后选择 新建项目

    随即出现**“添加新项目”**对话框。

  2. 添加新项目 对话框中,展开 Visual C# 然后选择 测试

  3. 模板 窗格中,选择 单元测试项目 然后选择 确定。 接受默认名称,例如,TestProject1。

    备注

    编码的 UI 测试项目还可以包含一般测试。

  4. 右击该单元测试项目,指向 添加,然后选择 一般测试

    一般测试的模板将会添加到您的测试项目中,并显示在主编辑窗口中。 新的一般测试采用默认名称(例如 GenericTest1.GenericTest),并显示在解决方案资源管理器中。

  5. 在**“指定要包装为一般测试的现有程序(测试、测试工具或测试适配器)”**下,指示 EvenOdd.exe 文件的路径和文件名称。

    备注

    若要确定此路径,选择。工具 菜单的 选项 然后选择 项目和解决方案。EvenOdd 解决方案的路径将显示在“Visual Studio 项目位置”下。EvenOdd 解决方案包含一个用于 EvenOdd 项目的文件夹。EvenOdd.exe 位于 EvenOdd 项目文件夹中的 bin\Debug\ 下。

    此指示应类似于下面的示例:

    C:\Documents and Settings\<your user name>\My Documents\Visual Studio 2012\Projects\EvenOdd\EvenOdd\bin\Debug\EvenOdd.exe.

  6. 保存一般测试。

    您已经创建了一个包装 EvenOdd.exe 的一般测试。 此测试具有以下特性:

    • 您可以从命令行运行该测试。

    • 如果通过,测试返回值 0;如果失败,则返回 1。

    • 现在可以运行一般测试从测试管理器。 若要立即运行测试,请参见运行一般测试。

运行一般测试

运行自己创建的一般测试

  1. 测试 菜单上,指向 窗口 然后选择 测试资源管理器

    测试资源管理器中显示。

  2. 版本 菜单中,选择 生成解决方案

  3. 在测试资源管理器中,选择一般测试并选择 运行

    EvenOdd 可执行文件随机地返回值 0 或 1。 因此,当包装 EvenOdd 的一般测试运行时,它是通过还是失败取决于 EvenOdd 生成的数字。 “测试结果”窗口显示结果:“通过”或“失败”。

    备注

    通常,当一般测试包装的可执行程序返回值 0 时,表示测试通过;如果返回其他任何值,则表示测试失败。

    还可以向 EvenOdd 可执行文件传递参数。 基于 EvenOdd.exe 的测试是通过还是失败取决于所提供的参数。 有关 EvenOdd.exe 返回的值的说明,请参见一般测试示例

  4. 要在运行一般测试时传递参数,请在 GenericTest1.generic 页上的**“要传递到一般测试的命令行参数”**行中键入 12,然后再次运行该测试。

    由于您传递的是偶数,因此测试通过。 可以在“测试结果”窗口中确认此结果。

  5. (可选)再运行若干次该测试,并在每次传递不同的值。

    有些现有测试或可执行程序在运行时需要其他文件。 您可以指定要与一般测试一起部署的文件。 有关更多信息,请参见在运行一般测试时部署文件。

在运行一般测试时部署文件

在运行一般测试时部署其他文件

  1. 创建并保存一个名为 mydeployedfile.txt 的文件。 该文件可以为空。 记录创建该文件的文件夹。

  2. 要与一般测试一起部署的其他文件下,选择 添加

    将显示**“添加部署文件”**对话框。

  3. 添加部署文件 对话框中,在 这个类型的文件下,选择 所有文件 (*.*)

  4. 定位到包含 mydeployedfile.txt 的文件夹,选择该文件,然后选择 打开

    您已经指定了要在运行一般测试时部署 mydeployedfile.txt。

    在下面的步骤中,您可以验证是否部署了该文件。 使用 EvenOdd.exe 的一项特殊功能可以做到这一点。EvenOdd.exe 会根据您指定的文件是否存在相应地生成“通过”或“失败”结果。

  5. 在一般测试中,将**“要传递到一般测试的命令行参数”**运行设置的值改为:12 "%TestDeploymentDir%\mydeployedfile.txt"

  6. 保存一般测试。

    现在已将两个命令行参数传递给了一般测试。 这一更改会导致 EvenOdd.exe 使用另一标准来生成“通过”或“失败”结果。 传递两个参数时,第一个参数将被忽略。 如果第二个参数所指定的文件与该测试位于同一个目录中,则测试将通过。 但是,如果没有部署该文件,或者命令行参数指定的文件名与所部署的文件的名称不匹配,则测试将失败。

    若要立即运行测试,请参见运行一般测试。

请参见

概念

创建使用一般测试运行可执行文件的自动测试