Запросить неудачные юнит-тесты из TFS-SDK? - PullRequest
3 голосов
/ 04 января 2012

Учитывая подробности сборки TFS (IBuildDetail) с .Status из PartialSuccess и .TestStatus из Failed, как я могу получить список тестов (MSTest), которые не удалось выполнить в этой сборке?

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

Кто-нибудь может пролить свет?

1 Ответ

5 голосов
/ 05 января 2012

Эта статья является отличным ресурсом, фактически она была единственной, которую я нашел доступной, когда искал что-то подобное.
В общем, вам нужен доступ к ITestManagementService.
Учитываяу вас уже есть подключение к teamProjectCollection и buildDetail, что-то вроде этого должно сработать для вас:

var tstService = (ITestManagementService)teamProjectCollection.GetService(typeof(ITestManagementService));
ITestManagementTeamProject testManagementTeamProject = tstService.GetTeamProject(buildDetail.TeamProject);

IEnumerable<ITestRun> testRuns =  testManagementTeamProject.TestRuns.ByBuild(buildDetail.Uri);

foreach (var testRun in testRuns)
{
    ITestCaseResultCollection testcases = testRun.QueryResultsByOutcome(TestOutcome.Failed);
    foreach (var testcase in testcases)
    {
        Console.WriteLine("TestCase ID: " + testcase.TestCaseId);
        Console.WriteLine("TestCase Title: " + testcase.TestCaseTitle);
        Console.WriteLine("Error Message: " + testcase.ErrorMessage);                  
    }
}

(Этот код в основном является копией из статьи выше, эторабота Anuj Chaudhary )

Не забудьте добавить «Microsoft.TeamFoundation.TestManagement.Client» в список ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...