如何在测试用例中更改测试人员(TFS API)

时间:2016-09-27 15:10:11

标签: c# .net tfs

我正在尝试在tfs api中更改测试用例的测试人员

在测试用例管理器中,我看到此测试人员:https://gyazo.com/03adc434225c4c5541f602bc954feaed

我尝试使用此测试程序创建并添加TestPointAssignment:

IdAndName idAndName = new IdAndName(testSuite.Id, testSuite.Title);
var assignment = testSuite.CreateTestPointAssignment(testCase.Id, idAndName, Tester);
testSuite.AssignTestPoints(new List<ITestPointAssignment>() { assignment });

但没有任何变化,仍然是同一个测试人员。

如何使用tfs api更改测试用例中的测试人员?

2 个答案:

答案 0 :(得分:1)

要使用TFS API更改测试用例的测试程序,您可以尝试以下代码段:

string teamProjectName = "TeamProjectName";
TfsTeamProjectCollection tfsCollection = new TfsTeamProjectCollection(new Uri("http://serverName:8080/tfs/MyCollection"));
 ITestManagementService testService = tfsCollection.GetService<ITestManagementService>();
ITestManagementTeamProject teamProject = testService.GetTeamProject(teamProjectName);
//get test point of a test case
ITestPlan tplan = teamProject.TestPlans.Find(testplanid);
ITestPoint point = tplan.QueryTestPoints("SELECT * FROM TestPoint WHERE TestCaseID = Testcaseid").FirstOrDefault();

IIdentityManagementService ims = tfsCollection.GetService<IIdentityManagementService>();
TeamFoundationIdentity tester = ims.ReadIdentity(IdentitySearchFactor.DisplayName, "Mike", MembershipQuery.Direct, ReadIdentityOptions.None);
//change tester for testcase
point.AssignedTo = tester;
point.Save();

答案 1 :(得分:0)

我相信你的问题是idAndName。

CreateTestPointAssignment需要ITestPointAssignment个对象的列表,其中每个对象包含:

  • 测试用例ID
  • 配置
  • TeamFoundationIdentity(用户)

我认为它失败了,因为您正在指定套件ID和名称,而不是配置ID和名称。

您可能已经意识到,每个测试人员都会被分配一个测试点,这是测试用例和配置的交集。在MTM中,您可以在整理 - &gt;中查看您的配置。 测试配置管理器。您可以在那里看到ID和名称,但在代码中,您可能希望通过套件的DefaultConfigurations属性查询该列表。 (请注意,如果它为空,则表示它从其父级或祖先继承配置,您可能必须从那里获取值。)