从TFS-SDK查询失败的单元测试?

时间:2012-01-04 18:18:13

标签: unit-testing mstest tfs-sdk

给定一个TFS构建详细信息(IBuildDetail).Status PartialSuccess.TestStatus Failed我将如何检索测试列表(MSTest)在那个版本上失败了?

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

任何人都能解释一下吗?

1 个答案:

答案 0 :(得分: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”。