2012-01-04 1 views
3

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

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

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

ответ

5

This статья - отличный ресурс, на самом деле это был единственный, который я нашел, когда я искал что-то подобное.
В общем вам нужен доступ к 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» в свой список ссылок.

+0

Пришлось добавить еще несколько ссылок на сборку, но это был действительно ответ. Благодаря! – el2iot2

+0

Я рад, что это сработало для вас! – pantelif