Я пытаюсь использовать TFS API для обновления результатов тестирования от автоматизации, выполняемой отдельно. Я пробовал предложения от других вопросов здесь (особенно How to create a test run and result using the Team Foundation Server API?), а также от поисков в другом месте. Независимо от того, что я пытаюсь у меня такая же проблема: каждый раз, когда я пытаюсь добавить контрольную точку в тестовом прогоне, я получаю ошибку -API TFS 2012: невозможно добавить тестовую точку для тестового запуска
Microsoft.TeamFoundation.TestManagement.Client.TestManagementInvalidOperationException: This test run cannot be created with the test points.
Тестовые точки извлекаются из TFS с помощью WIQL, и я проверяю каждый тестовый пункт, чтобы убедиться, что он правильный для плана тестирования, набора тестов и конфигурации тестирования, прежде чем я попытаюсь его добавить.
Я не могу сохранить тестовый прогон без контрольных точек.
Пример кода (я пережил так много попыток, что мой код теперь за грязные)
public void UpdateTests(TestSuiteRun suiteRun)
{
this.Config = FindConfig(suiteRun.Description);
this.Suite = FindSuite(suiteRun.Name);
this.Plan = Suite.Plan;
this.Points = FindPoints(this.Suite.Id, this.Config.Id);
ITestCaseCollection testCases = Suite.AllTestCases;
this.Run = TeamProject.TestRuns.Create();
ConfigureTestRun(); // failing here
this.Result = CreateRunResults();
this.Iteration = CreateSingleIteration(suiteRun.Description);
{
UpdateResultsForScenario(scen);
}
}
и метод для настройки тестового прогона:
private void ConfigureTestRun()
{
this.Run.DateStarted = DateTime.Now;
this.Run.DateCompleted = DateTime.Now;
// find the points that correspond to test cases in the run suite
foreach (ITestPoint point in this.Points)
{
if (point.TestCaseExists && point.Plan.Id == this.Plan.Id && point.ConfigurationId == this.Config.Id)
{
this.Run.AddTestPoint(point, this.CurrentUser); // fails with InvalidOperationException
}
}
this.Run.Save();
}
Я могу для подключения к TFS и получения всех необходимых данных, но добавление тестовых точек к новому тестовому прогону сводит меня с ума.
Что я сделал не так?
Что «Сохранить» возврат, если это Bool, что результат? – DaveShaw
@DaveShaw Я не добираюсь до «Save» - процедура запускается с ошибкой в Run.AddTestPoint(). –