【问题标题】:Visual Studio Team Services / SonarQube: Converting a .trx/.coverage file to a LCOV?Visual Studio Team Services / SonarQube:将 .trx/.coverage 文件转换为 LCOV?
【发布时间】:2017-02-24 04:22:11
【问题描述】:

我正在尝试将在 Team Services(以前是 VSO)构建管理器中运行测试程序集任务生成的 .coverage 或 .trx 文件转换为可由 SonarQube 解析的 LCOV 文件,以便报告 javascript 覆盖率结果。

是否有任何预设/推荐的方法来做到这一点?我想我可以只使用一个 powershell 脚本来调用 Chutzpah(因为它包含在一个 nuget 包中)并将 .trx 转换为 LCOV。

【问题讨论】:

    标签: javascript msbuild sonarqube azure-devops tfsbuild


    【解决方案1】:

    Chutzpah 是一个开源 JavaScript 测试运行器,它使您能够使用 QUnit、Jasmine、Mocha、CoffeeScript 和 TypeScript 运行单元测试。

    您可以使用transforms setting 指定测试完成后应该运行哪些输出变压器。将测试覆盖率数据作为 LCOV 文件输出到 C:\temp\lcov.dat:

    {
        "Transforms": [
            { "Name": "lcov", "Path": "lcov.dat" }
        ]
    }
    

    【讨论】:

    • 嗨 Cece,我目前正在使用 Nuget 将 Chutzpah 导入到源文件中,然后使用本指南:microsoft.com/en-gb/developers/articles/week04aug15/…
    • 我认为它仍在运行 VSTests.Console.Exe 并带有在包目录中找到的测试适配器。有没有一种方法可以通过 VSTests.Console.Exe 将参数传递给 Chutzpah 适配器,以将输出格式化为 LCOV.dat 文件(我读到这样做,“/lcov 文件名”需要传递给 Chutzpah控制台运行器)。
    • 您使用托管构建代理还是本地构建代理?您是否指定了“自定义测试适配器的路径”? Chutzpah 设置文件是一个 .json 文件,您可以将其放在测试目录中的任何位置,以通知 Chutzpah 测试特定设置:github.com/mmanela/chutzpah/wiki/Chutzpah.json-Settings-File
    • 我正在使用托管构建代理,并且我已经指定了路径。在这种情况下,设置文件仍然有效吗?
    • 修改我在测试目录中找到的设置文件并添加转换字段后,生成了 LCOV。现在让覆盖范围显示在 SQ 中...
    猜你喜欢
    • 2018-05-08
    • 2023-03-28
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2016-04-26
    相关资源
    最近更新 更多