不能以编程方式更新测试用例的区域

本文关键字:测试用例 区域 更新 方式 编程 不能 | 更新日期: 2023-09-27 18:09:58

我试图以编程方式更新测试用例的区域。

我的代码似乎合乎逻辑,但失败了:

类型为"Microsoft.TeamFoundation.WorkItemTracking.Client"的未处理异常。ValidationException'发生在Microsoft.TeamFoundation.WorkItemTracking.Client.dll

附加信息:TF400276:您已尝试为未打开或部分打开的工作项的字段设置值。您不能为未打开或部分打开的工作项的字段设置值。

代码如下:

private static void Main(string[] args)
      {
         TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, false);
         tpp.ShowDialog();
         var tc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(
                                                                           tfsUri,
            new UICredentialsProvider());
         tc.EnsureAuthenticated();
         var wiStore = tc.GetService<TestManagementService>();
         var project = wiStore.GetTeamProject(tpp.SelectedProjects[0].Name);
         SetAreaPathByTestSuiteID(project, 501);

      }
      private static void SetAreaPathByTestSuiteID(ITestManagementTeamProject project, int testSuiteID)
      {
         var testSuite = project.TestSuites.Find(testSuiteID).TestCases;
         foreach (ITestSuiteEntry entry in testSuite)
         {
            ITestCase theCase = entry.TestCase;
            theCase.Area = "NewAreaPath"; //Error thrown here
            theCase.Save();
         }
      }

不能以编程方式更新测试用例的区域

我知道这个帖子是旧的,但我还是会回答它,以防有人遇到同样的问题。为了能够编辑一个测试用例,您应该像这样调用Open():

theCase.WorkItem.Open();

就这样。

您应该只调用一个WorkItem。这就够了,如果

 testCase.WorkItem.PartialOpen();

如果你调用

 testCase.WorkItem.Open();

然后保存,您将重写步骤和参数值