2012-01-04 33 views
3

给定一个TFS构建细节(IBuildDetail).StatusPartialSuccess.TestStatusFailed我该如何去检索在该构建上失败的测试列表(MSTest)?查询TFS-SDK中的失败单元测试?

我有一个工作沙箱,我可以通过SDK联系TFS并检索最新的PartialSuccess构建,但似乎无法找到哪个服务可能具有此单元测试数据以及如何查询它。

任何人都可以点亮一下吗?

回答

5

This文章是一个很好的资源,实际上它是我在搜索类似内容时找到的唯一一个。
一般而言,您需要访问ITestManagementService
鉴于你已经连接到teamProjectCollectionbuildDetail,这样的事情应该制定出适合你:

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 2012-01-05 23:32:54

+0

我很高兴它为你工作! – pantelif 2012-01-06 08:29:33