【问题标题】:Programatically retrieving path info for TFS "instrumented binaries" via the data warehouse通过数据仓库以编程方式检索 TFS“检测二进制文件”的路径信息
【发布时间】:2019-02-14 22:33:24
【问题描述】:

有谁知道如何以编程方式(使用 TFS API)确定哪些二进制文件被设置为作为 T​​FS 构建的一部分进行检测?

例如,在具有代码覆盖率的 TFS 上运行构建后,它会在输出中显示:

...
-> 2 binaries instrumented - 62% of all code blocks covered
        SomeAssembly.dll - 392 blocks covered, 368 blocks not covered
        SomeExe.exe - 584 blocks covered, 241 blocks not covered
...

我想以编程方式确定“SomeAssembly.dll”和“SomeExe.exe”是作为该构建的一部分进行检测的二进制文件。

我已经通过 TFS API 检索了团队项目,但不确定是否能将我带到我想去的地方:

TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri(versionControlURIRoot + defaultProjectDirectory))
var testManagementService = collection.GetService<ITestManagementService>();
ITestManagementTeamProject teamProject = testManagementService.GetTeamProject(projectName);

【问题讨论】:

    标签: c# tfs data-warehouse tfs-sdk binaries


    【解决方案1】:

    解决办法如下:

    获取团队项目:

    TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri(versionControlURIRoot + defaultProjectDirectory));
        var testManagementService = collection.GetService<ITestManagementService>();
        ITestManagementTeamProject teamProject = testManagementService.GetTeamProject(projectName);
    

    从 Build Coverage 元数据中提取程序集名称:

    List<string> assemblyNames = new List<string>();
    if (teamProject != null) {
        ICoverageAnalysisManager coverageAnalysisManager = teamProject.CoverageAnalysisManager;
        if (coverageAnalysisManager != null) {
            IBuildCoverage[] buildCoverage = coverageAnalysisManager.QueryBuildCoverage(buildURI, CoverageQueryFlags.Modules);
            List<string> assemblyNames = new List<string>();
            foreach (IBuildCoverage buildCoverageDetails in buildCoverage) {
                foreach (IModuleCoverage module in buildCoverageDetails.Modules) {
                        assemblyNames.Add(module.Name);
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-16
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多