2012-02-13 57 views
0

我试图利用TFS测试用例的功能,它允许用户将参数添加到测试用例。但是,当我设置一个普通的单元测试(它将成为我的功能/集成测试)并使用插入参数功能时,我似乎无法访问参数数据。从我可以找到的很少,似乎这个参数化仅用于编码的UI测试。使用TFS /测试中心的参数化功能测试?

尽管可以在测试中使用[DataSource]属性编写数据驱动的单元测试,但这意味着需要一个单独的位置来管理测试的数据,可能是一个新的UI,等等。不是最佳的。最理想的是通过测试中心来管理所有事情,但是我不能在我的生活中找到关于如何在单元测试中获得这些数据的描述。

我错过了一些明显的东西吗?

回答

3

要么我不明白你的问题,要么你自己回答:-)。让我解释一下:

单元测试和编码UI测试(实际上,大多数基于MSTest的测试)都利用相同的[DataSource]基础结构。这样,测试可以参数化,而无需将参数数据嵌入测试本身。

VS 2005和VS 2008基本上提供了数据库(文本,XML或关系数据库)作为有效的测试数据源。 VS 2010(和微软测试管理器)引入了一种新的数据源:“测试用例数据源”,该测试用例数据源自动插入到从测试用例记录生成的编码UI测试中。

但是没有什么能够阻止你对你自己的单元测试做同样的事情。我认为下面的工作流程可能适用于您:

  1. 在MTM中创建测试用例;
  2. 添加您的参数和数据行;
  3. 保存您的测试用例。记下工作项目ID(你需要它);
  4. 创建单元测试和下面的属性添加到方法头:

    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://my-tfs-server:8080/tfs/my-collection;My-Team-Project", "WI#", DataAccessMethod.Sequential), TestMethod] 
    
  5. 在上面的属性,替换WI#与从#3的工作项ID;

  6. (可选)在Visual Studio中,转到Test菜单并单击Windows |测试视图。选择刚创建的单元测试,右键单击它并将“将测试关联到测试用例”。指向在#3中创建的相同测试用例工作项目,现在您将自己的手动测试用例转换为自动化测试用例。注意:当您自动执行测试时,您不能再从MTM手动运行它。您需要实验室管理(以及配置为能够运行自动化测试的环境),以安排并运行自动化测试用例。