TFS2010 - захватить время выполнения юнит-теста в сборке команды - PullRequest
1 голос
/ 09 февраля 2012

Существует возможность «захватить» или сохранить время, необходимое для тестирования юнитов, при запуске сборки команды на TFS2010.Идеально сохранить его в базе данных (например, loadtest может сохранить его в хранилище результатов).

Заранее спасибо!

1 Ответ

1 голос
/ 09 февраля 2012

Если вы запускаете модульные тесты Visual Studio во время сборки, вы можете публиковать результаты теста на сервере, а затем вы можете запросить тестовый прогон и результаты, чтобы узнать длительность каждого результата теста.

Код для запроса результатов теста для каждой сборки выглядит следующим образом:

        var tcmService = TeamProjectCollection.GetService<ITestManagementService>();
        var tcmProject = tcmService.GetTeamProject(TeamProjectName);
        ITestRun testRun = tcmProject.TestRuns.ByBuild(BuildUri).First();
        ITestCaseResultCollection results = testRun.QueryResults();
        foreach (ITestResult result in results) { Console.WriteLine(result.Duration); }

Вам необходимо получить коллекцию командного проекта, знать имя командного проекта и URI сборки. В этом коде предполагается, что ваша сборка имеет только один опубликованный тестовый запуск, хотя иногда это не так, поскольку вы можете публиковать другие тестовые прогоны в той же сборке после ее завершения.

Надеюсь, это поможет.

...