使用 MSTest 从命令行运行自动测试

使用可执行程序 MSTest.exe 可以从命令行运行测试。 此程序可以运行所有可自动运行的测试(即所有的非手动测试)。

从命令行运行测试

  1. 打开一个 Visual Studio 命令提示符。

    为此,请选择**“开始”,指向“所有程序”,指向“Microsoft Visual Studio 2012”,指向“Visual Studio 工具”,然后选择“开发人员命令提示”**。

    默认情况下,Visual Studio 命令提示在以下文件夹位置打开:

    <驱动器号>:\Program Files\Microsoft Visual Studio 11.0\VC

    备注

    若要更改默认情况下命令提示符窗口打开的文件夹,请选择“开始”,指向“Microsoft Visual Studio 2012”,指向“Visual Studio 工具”,右击“开发人员命令提示”,然后选择“属性”。在“开发人员命令提示属性”对话框中,可以将路径更改为“起始于” 框中的默认文件夹。

  2. 将目录更改为解决方案文件夹,或者在步骤 3 中运行 MSTest.exe 程序时指定元数据文件或测试容器的完整路径或相对路径。

    若要标识解决方案文件夹,首先请标识 Visual Studio Projects 文件夹。 为此,请在 Visual Studio 中选择**“工具”菜单上的“选项”,再选择“项目和解决方案”。 在“Visual Studio 项目位置”**下,将看到如下路径:

    <drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects

    解决方案文件夹通常是此 Projects 文件夹的子文件夹,如以下示例中的 Bank 文件夹:

    <drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\Bank

  3. 运行 MSTest.exe 程序。

    在运行 MSTest.exe 时,必须指定测试元数据文件或测试容器(分别使用 /testmetadata 选项或 /testcontainer 选项指定)。 /testmetadata 选项仅可使用一次,以指示一个测试元数据文件。 可以多次使用 /testcontainer 选项,指示多个测试容器。

    必要时,可包含其中驻留有元数据文件或测试容器的文件夹的路径。 测试元数据文件驻留在解决方案文件夹中。

    根据测试类型的不同,测试容器可以是 XML 文件、从测试项目生成的程序集或驻留在测试项目文件夹中的其他文件。

示例

必须结合使用 /testcontainer 选项与 /category 选项来选择要运行哪些类别中的哪些测试。 例如,下面的命令在解决方案文件夹中运行,并且运行 Priority 1 和 ShoppingCart 类别中都有的测试:

MSTest /testcontainer: testproject2\bin\debug\testproject2.dll /category:"Priority1&ShoppingCart"

备注

由于测试程序集文件驻留在其他文件夹中,因此需要相对路径。

如果要使用测试列表,最好结合使用 /testmetadata 选项与 /testlist 选项。 例如,以下命令在解决方案文件夹中运行。 由于测试元数据文件也驻留在该文件夹中,因此不需要任何路径:

MSTest /testmetadata:Bank.vsmdi /testlist:balancetests

警告

Visual Studio 2012 中不再完全支持测试列表:

  • 无法创建新的测试列表。

  • 无法从 Visual Studio 内运行测试列表中的测试。

  • 如果已从 Visual Studio 2010 升级并且拥有解决方案中的测试列表,则可继续在 Visual Studio 中编辑它。

  • 可以从命令行中使用 mstest.exe 继续运行测试列表,如上所述。

  • 如果您在生成定义中使用的是测试列表,则可以继续使用它。

(可选)其他的 MSTest 命令行选项可用于各种用途,如指定要运行的各个测试、发布测试数据和自定义屏幕输出。 有关这些选项的更多信息,请参见 MSTest.exe 命令行选项

请参见

任务

命令行测试结果

演练:使用命令行测试实用工具

概念

MSTest.exe 命令行选项

用于发布测试结果的命令行选项