2012-02-09 44 views

回答

1

如果您運行的生成過程中的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。此代碼假定您的構建只有一個已發佈的測試運行,但有時不是這樣,因爲您可以在完成後將其他測試運行發佈到同一個構建。

希望這會有所幫助。

+0

優秀!我會試試這個 – jaspernygaard 2012-02-09 21:37:15

+0

後續問題 - 關於團隊構建,我需要從MSBuild手動調用MStest還是可以以另一種方式設置它? – jaspernygaard 2012-02-22 11:29:24

+0

您正在使用TFS 2010的Sicne,已經有一個名爲RunTests的活動,它將在您的二進制文件中找到測試程序集併爲您運行測試。默認情況下,爲生成定義啓用運行測試。 – 2012-02-22 14:08:46