如何将测试结果结果(失败/通过)添加到tfs / mtm中的测试运行内的测试中

时间:2016-07-12 14:34:05

标签: api tfs mtm

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

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

1 个答案:

答案 0 :(得分: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 } 
  ]
}