无法以编程方式更新测试用例的区域

问题描述 投票:0回答:1

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

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

Microsoft.TeamFoundation.WorkItemTracking.Client.dll中发生未处理的“Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException”类型的异常异常

附加信息: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();

         }
      }
c# tfs tfs-sdk
1个回答
5
投票

我知道这个帖子已经过时了,但无论如何我会回答它,以防有人遇到同样的问题。为了能够编辑测试用例,您应该像这样调用Open():

theCase.WorkItem.Open();

就是这样。


0
投票

你应该只调用一个WorkItem。如果你这就足够了

 testCase.WorkItem.PartialOpen();

如果你打电话

 testCase.WorkItem.Open();

然后保存,您将覆盖步骤和参数值

© www.soinside.com 2019 - 2024. All rights reserved.