如何:使用测试类别分组和运行自动测试

通过测试类别,可以根据为各组测试分配的类别运行各组测试,无须保留测试列表。测试类别是可以分配给一个或多个测试的测试方法属性。

可以在测试类别中使用逻辑运算符,从而运行来自多个类别的测试,或将运行的测试仅限于属于多个类别的测试。此外,在创建测试方法时很容易添加测试类别,创建测试方法后也无需维护测试列表。

要求

  • Visual Studio 旗舰版, Visual Studio 高级专业版, Visual Studio 专业测试工具版

创建和分配测试类别

手动向测试添加测试类别

  1. 在单元测试项目,或编码的UI测试在解决方案资源管理器中的项目,打开包含单元测试,然后将单元测试方法要更改的文件。

  2. 在紧挨该测试方法声明的上方,为要分配给该测试的每个测试类别添加 [TestCategory()] 特性。使用逗号分隔每个特性。

  3. 向每个 [TestCategory()] 特性添加用括号括起来的类别名称。下面是一个方法示例,其中包含分配给该测试的三个测试类别,分别名为“Nightly”、“Weekly”和“ShoppingCart”:

    [TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart"), TestMethod()]
    public Void DebitTest()
    {
    }
    

按类别运行测试

从命令行运行测试时,还可以基于分配给测试的类别,使用逻辑运算符 & (AND)、| (OR) 和 ! (NOT) 选择要运行的测试。

从命令行使用类别运行测试

  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. 将目录更改为解决方案文件夹中测试容器(通常为测试项目的 .dll 文件)所在的位置,或者在步骤 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. 使用/TestCaseFilter选项,通过使用/testcontainer和/category选项,若要运行测试指派给“nightly”类别,运行VSTest.Console.exe,或者从MSTest.exe:

    VSTest.Console.exe

    Vstest.console.exe myTestProject.dll /TestCaseFilter: “TestCategory= " nightly”

    MSTest.exe

    mstest /testcontainer: MyTestprojectName.dll /category: “nightly”

    结果和摘要将显示在命令提示窗口中。

    说明说明

    可以在表达式中使用 AND 或 OR 来选择测试的类别,但不可在同一表达式中同时使用二者。

    有关更多信息,请参见VSTest.Console.exe 命令行选项如何:从命令行使用 MSTest 运行自动测试MSTest.exe 命令行选项

请参见

概念

定义对测试进行分组的测试类别