不能以编程方式更新测试用例的区域
本文关键字:测试用例 区域 更新 方式 编程 不能 | 更新日期: 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();
然后保存,您将重写步骤和参数值