我无法找到一种方法来获取C#中给定版本的测试结果。
我之前所做的是通过构建ID获得测试结果。
这里是示例代码
int buildId = 123;
const string TFS_url = "<TFS_URL>";
string projectname = "<Teamname>";
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(TFS_url));
// Get build information
BuildHttpClient bhc = ttpc.GetClient<BuildHttpClient>();
// Get testrun for the build
TestManagementHttpClient ithc = ttpc.GetClient<TestManagementHttpClient>();
QueryModel qm = new QueryModel("Select * From TestRun Where BuildNumber Contains '" + buildId + "'");
List<TestRun> testruns = ithc.GetTestRunsByQueryAsync(qm, projectname).Result;
List<List<TestCaseResult>> allTestresults = new List<List<TestCaseResult>>();
foreach (TestRun testrun in testruns)
{
List<TestCaseResult> testresults = ithc.GetTestResultsAsync(projectname, testrun.Id).Result;
allTestresults.Add(testresults);
}
我希望在C#中使用给定的类,而不必通过API进行。
构建/发布的测试结果存储在测试运行中,因此您只需要先获取构建/发布的测试运行,然后从测试运行中检索测试结果。
您可以从特定版本的测试日志中获得测试运行ID。
因此,最简单的方法是从日志中使用REST API获取特定的测试运行ID。
GET https://{instance}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}/deployPhases/{releaseDeployPhaseId}/tasks/{taskId}/logs?api-version={version}
请参见Get Task Log v5以获取详细信息。
然后仅通过测试运行ID获取测试结果详细信息。与您共享的构建示例代码相似。