我可以查询TFS中的“Tester”字段

时间:2015-04-13 20:18:07

标签: tfs microsoft-test-manager

"测试员" TFS中的字段与分配给"的字段不同。领域。设置"测试员"微软已经描述了如何做到这一点here。还有其他方法来设置" tester"领域?如果我想编写查询以查看该字段,那么TFS中调用的字段是什么?

我想这样做的原因是,我可以根据测试用例中的特定标志,将一堆测试用例批量分配给1个用户。

1 个答案:

答案 0 :(得分:4)

您无法使用TFS查询进行查询,因为属性“tester”不属于测试用例工作项,而属于测试点

  

...是测试用例测试配置的配对   特定的测试套件。

     

因此,如果您想要使用多个测试配置   你运行测试,每个配对都有一个测试点   测试用例,其配置如下图所示:

     

enter image description here

来源:Microsoft Developer Network的How to: View Manual Test Case Results Using Microsoft Test Manager

除了使用 MTM 之外,获取或/和更改“tester”属性的唯一方法是使用TFS API。

以下是如何获取特定测试点的“tester”属性的示例:

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.TestManagement.Client;
using System;
using System.Linq;

namespace MyConsoleApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         var tfsCollection = new TfsTeamProjectCollection(new Uri(<tfsUri>), new System.Net.NetworkCredential(<tfsUserName>, <password>));
         tfsCollection.EnsureAuthenticated();

         var testManagementService = tfsCollection.GetService<ITestManagementService>();
         var TFSproject = testManagementService.GetTeamProject(<TFS projectName>);

         var plan = TFSproject.TestPlans.Find(<testPlanId>);

         var query = String.Format("SELECT * FROM TestPoint WHERE SuiteId = {0}  and ConfigurationId = {1} and TestCaseId = {2}", <testSuiteId>, <testConfigurationId>, <testCaseId>);
         var testpoint = plan.QueryTestPoints(query).FirstOrDefault();

         TeamFoundationIdentity tester;
         if( testpoint != null)
            var tester = testpoint.AssignedTo; // That's kind of funny... the property is called "AssignedTo", not "Tester"
      }
   }
}

这意味着为了根据测试用例中的特定标志将一堆测试用例批量分配给特定用户,您必须编写控制台应用程序。