C# 4.0 在Tfs中更改测试套件中测试用例的结果字段

C# 4.0 在Tfs中更改测试套件中测试用例的结果字段,c#-4.0,C# 4.0,给定测试套件id,是否可以在Tfs中更改其中测试用例的结果 例如,将活动状态更改为“通过”状态或“失败”状态 在使用测试套件迭代测试用例时,我找不到名为outcome的字段。如何修改结果字段?您似乎想更新测试结果。您需要首先获取测试运行ID 您可以使用RESTAPI来更新特定的测试结果。详情请参阅 PATCH https://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results?api-version={vers

给定测试套件id,是否可以在Tfs中更改其中测试用例的结果

例如,将活动状态更改为“通过”状态或“失败”状态


在使用测试套件迭代测试用例时,我找不到名为outcome的字段。如何修改结果字段?

您似乎想更新测试结果。您需要首先获取测试运行ID

您可以使用RESTAPI来更新特定的测试结果。详情请参阅

PATCH https://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results?api-version={version}
您还可以使用TFS API,例如:

TfsTeamProjectCollection teamCollection;
            ITestManagementService service;
            ITestManagementTeamProject project;
            var picker = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, false);
            picker.ShowDialog();
            if (picker.SelectedTeamProjectCollection != null && picker.SelectedProjects != null)
            {
                teamCollection = picker.SelectedTeamProjectCollection;
                service = teamCollection.GetService<ITestManagementService>();
                project = service.GetTeamProject(picker.SelectedProjects.First().Name);
            }
            else
            {
                return;
            }

//Get Test result
 var testResults = project.TestResults.ByTestId([test case id]);

 // iterate each result for the case
 foreach (ITestCaseResult result in testResults)
 {
     //TODO other code
     //update result
     result.Outcome = TestOutcome.Failed;
     result.Save(true);
}
tfstreamprojectcollection团队集合;
ITestManagement服务;
ITestManagement团队项目;
var picker=new TeamProjectPicker(TeamProjectPickerMode.SingleProject,false);
picker.ShowDialog();
if(picker.SelectedTeamProjectCollection!=null&&picker.SelectedProjects!=null)
{
teamCollection=picker.SelectedTeamProjectCollection;
service=teamCollection.GetService();
project=service.GetTeamProject(picker.SelectedProjects.First().Name);
}
其他的
{
返回;
}
//得到测试结果
var testResults=project.testResults.ByTestId([testcase id]);
//迭代案例的每个结果
foreach(测试结果中的ITestCaseResult)
{
//TODO其他代码
//更新结果
result.output=testoutput.Failed;
result.Save(true);
}
参考此线程:


即使我这样更改了结果,在测试套件下,测试用例的结果字段也不会更新。@SaAk您需要刷新页面以获得更新的值。如果使用REST API更新测试结果,请确保更新了最新的测试运行,只有最新的测试运行ID结果将反映对测试用例的更改…它不会更新处于活动状态的测试用例的结果字段。。