0

我已经创建了一个带有测试点的测试运行,有没有办法在使用 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;
        }

这是我的方法,但它不起作用。谢谢你帮助我:-)

4

1 回答 1

0

对于 .net api,您可以查看这个案例:How to create a test run and result using the 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 } 
  ]
}
于 2016-07-13T08:22:30.037 回答