2012-01-04 31 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