Der einfache Weg ist mit Client-API:
Einfaches Beispiel:
int testpointid = 176;
var u = new Uri("https://[account].visualstudio.com");
VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "[pat]"));
TfsTeamProjectCollection _tfs = new TfsTeamProjectCollection(u, c);
ITestManagementService test_service = (ITestManagementService)_tfs.GetService(typeof(ITestManagementService));
ITestManagementTeamProject _testproject = test_service.GetTeamProject("scrum2015");
ITestPlan _plan = _testproject.TestPlans.Find(115);
ITestRun testRun = _plan.CreateTestRun(false);
testRun.Title = "apiTest";
ITestPoint point = _plan.FindTestPoint(testpointid);
testRun.AddTestPoint(point, test_service.AuthorizedIdentity);
testRun.Save();
testRun.Refresh();
ITestCaseResultCollection results = testRun.QueryResults();
ITestIterationResult iterationResult;
foreach (ITestCaseResult result in results)
{
iterationResult = result.CreateIteration(1);
foreach (Microsoft.TeamFoundation.TestManagement.Client.ITestStep testStep in result.GetTestCase().Actions)
{
ITestStepResult stepResult = iterationResult.CreateStepResult(testStep.Id);
stepResult.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed; //you can assign different states here
iterationResult.Actions.Add(stepResult);
}
iterationResult.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed;
result.Iterations.Add(iterationResult);
result.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed;
result.State = TestResultState.Completed;
result.Save(true);
}
testRun.State = Microsoft.TeamFoundation.TestManagement.Client.TestRunState.Completed;
results.Save(true);
In Bezug auf REST api wird die notwendigen Informationen in actionResults gespeichert von iterationDetails (TestCaseResult.IterationDetails) können Sie versuchen, IterationDetails bis TestCaseResult anzugeben und das Testergebnis zu aktualisieren.
Sie können die Details eines Testergebnisses überprüfen, indem Get a Test Result with DetailInclude mit (detailsToInclude = Iterations)
Sie das Problem mit meiner Lösung lösen Sie? –
@ starain-MSFT - Entschuldigung, für das verzögerte Update. Wir haben Ihre Lösung ausprobiert. Bei Fehler aufgetreten ** TypeLoadException wurde nicht behandelt **. Fehler liest als 'Konnte nicht laden Typ 'Microsoft.TeamFoundation.TFStringComparer' von Assembly 'Microsoft.TeamFoundation.Common' Irgendwelche Vorschläge bitte? –
Verwenden Sie Microsoft Team Foundation Server-Client-Paket? Kannst du ein einfaches Projekt auf dem OneDrive sein? –