使用TFS /测试中心进行参数化功能测试?

时间:2012-02-13 20:21:10

标签: tfs integration-testing

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

虽然我可以在测试中使用[DataSource]属性编写数据驱动单元测试,但这意味着需要一个单独的位置来管理测试数据,可能是一个新的UI等。不是很糟糕但不是最佳。什么是理想的是通过测试中心管理一切,但我不能在我的生活中找到如何在单元测试中获得该数据的描述。

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

1 个答案:

答案 0 :(得分:3)

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

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

VS 2005和VS 2008基本上提供了数据库(文本,XML或关系数据库)作为有效的测试数据源。 VS 2010(和Microsoft测试管理器)引入了一种新的数据源:“测试用例数据源”,它自动插入从测试用例记录生成的编码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中,转到“测试”菜单,然后单击“Windows”测试视图。选择刚刚创建的单元测试,右键单击它并“将测试与测试用例关联”。指向#3中创建的相同测试用例工作项,现在您在自动化测试用例中转换了手动测试用例。注意:自动执行测试时,您无法再从MTM手动运行测试。您需要实验室管理(以及配置为能够运行自动化测试的环境)才能安排和运行自动化测试用例。