我已经创建了一个带有测试点的测试运行,有没有办法使用 API 在测试运行中的一个测试上标记失败/通过?
public ITestRun createRun(ITestPlan tfsPlan, IEnumerable<ITestPoint> points)
{
ITestRun run = tfsPlan.CreateTestRun(true);
foreach (ITestPoint tp in points)
{
run.AddTestPoint(tp, null);
}
run.Save();
ITestCaseResult result = run.QueryResults()[0];
result.Outcome = TestOutcome.Failed;
return run;
}
这是我的方法,但它不起作用。谢谢你帮助我:-)
对于 .net api,您可以检查以下情况:如何使用 Team Foundation Server API 创建测试运行和结果?
您可以考虑使用 REST API,而不是 .net api:
POST https://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results?api-version={version}
Content-Type: application/json
{
"index": {int},
"testCaseTitle": { string },
"testCase": {
"id": { int }
},
"configuration": {
"id": { int },
"name": {string }
},
"testPoint": {
"id": { int }
},
"state": {
enum { Pending, Queued, InProgress, Paused, Completed }
},
"computerName": { string },
"resolutionState": { string },
"testCasePriority": { string },
"failureType": { string },
"automatedTestName": { string },
"automatedTestStorage": { string },
"automatedTestType": { string },
"automatedTestTypeId": { string },
"automatedTestId": { string },
"area": {
"name": {string}
},
"owner": {
"DisplayName": {string}
},
"runBy": {
"DisplayName": {string}
},
"outcome": {
enum { None, Passed, Failed, Inconclusive, Timeout, Aborted, Blocked, NotExecuted, Warning, Error, NotApplicable, Paused, InProgress}
},
"errorMessage": { string },
"comment": { string },
"startedDate": { DateTime },
"completedDate": { DateTime },
"durationInMs": { long },
"associatedWorkItems": [
{ int }
]
}