Невозможно загрузить вложения в 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.