2012-02-09 66 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