在自定义 TFS 2012 工作流程中,我使用以下代码片段:
IBuildDetail buildDetail = context.GetValue(BuildDetail);
var testManagementService = TfsTeamProjectCollectionFactory
.GetTeamProjectCollection(new Uri("http://tfs:8080/tfs/Sandbox"))
.GetService<ITestManagementService>();
var buildCoverages = testManagementService
.GetTeamProject(buildDetail.TeamProject)
.CoverageAnalysisManager
.QueryBuildCoverage(buildDetail.Uri.ToString(), CoverageQueryFlags.Modules);
代码覆盖在构建上正确执行,构建的“构建摘要”包含:
> 2 binaries instrumented - 89% of all code blocks covered
fooTests.dll - 99% of 479 code blocks covered
foo.exe - 74% of 347 code blocks covered
出于测试目的,自定义活动是“签入门控更改”之后工作流中的最后一个活动。在构建期间,buildCoverages
变量包含一个长度为 0 的数组。知道这是为什么吗?覆盖结果是否异步提交回 TFS,发布构建完成?“事务”中的构建和上述代码是否在不可见正在进行的构建的情况下运行?非常感谢任何帮助。