Невозможно загрузить вложения в testresult, используя TFS API

Я пытаюсь загрузить вложения с помощью TFS API. Ниже приведен фрагмент кода:

    result.State = TestResultState.Completed;
    result.RunBy = identity;

    var attachment = result.CreateAttachment(logFilePath);
    run.Attachments.Add(attachment);

Код не выдает никакой ошибки. Также я вижу, что событие IAttachmentOwner.AttachmentUploadCompleted было инициировано, указывая, что оно завершено. Тем не менее, я не могу видеть загруженные вложения на моем TFSWebPortal. Я что-то здесь упускаю?

PS: Первый вопрос здесь. Пожалуйста, не стесняйтесь меня поправлять.

1 ответ

Решение

Вы можете получить это работает с помощью следующего кода:

TfsTeamProjectCollection tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsservername:8080/tfs/DefaultCollection"));
        ITestManagementTeamProject project = tfs.GetService<ITestManagementService>().GetTeamProject("projectName");

        foreach (ITestPlan p in project.TestPlans.Query("Select * From TestPlan"))
        {
            ITestRun testRun = p.CreateTestRun(false);
            var testPoints = p.QueryTestPoints("SELECT * from TestPoint");
            foreach (ITestPoint testPoint in testPoints)
            {
                testRun.AddTestPoint(testPoint, null);
            }
            testRun.Save();

            ITestCaseResultCollection results = testRun.QueryResults();

            foreach (ITestCaseResult result in results)
            {
                result.Attachments.Add(result.CreateAttachment(@"C:\Users\visong\Pictures\000.jpg"));
                result.Outcome = TestOutcome.Warning;
                result.State = TestResultState.Completed; 
                results.Save(true);
            }

            testRun.Save();
            testRun.Refresh();
        }

Тогда вы сможете найти вложение в результатах теста, с которым работаете в MTM.

Другие вопросы по тегам