0

我正在尝试将我的 ember-addon 项目中的代码覆盖率获取到 sonarqube 中。CodeCoverage 是使用 ember-cli-blanket 创建的。可以由 SonarQube 运行器导入的 LCOV 文件已创建并填充了覆盖率数据,但 sonarrunner(在 jenkins 内部)正在打印以下错误:

SonarQube Runner 2.3
...
15:53:29.949 INFO  - Analysing [/home/build/.jenkins/workspace/$projectname$/$home_dir$/lcov.dat]
15:53:29.970 WARN  - Could not resolve 206 file paths in [/home/build/.jenkins/...
                     first unresolved path: $projectname$/helpers/concat

Job 被配置为在 shell 中执行以下命令:

ember test --test-page='tests/index.html?hidepassed&coverage=true'

当我探索项目时,目录结构如下:

-- $projectname$
 |
 |-- app
   |
   |-- helpers
     |
     | - concat.js

LCOV 文件如下所示:

SF:$projectname$/helpers/concat.js
DA:1,1
DA:2,1
... 
LF:9
LH:9
end_of_record

好吧,SonarRunner 当然没有在 LCOV File 中报告的路径上找到该文件。

我该如何配置它,以使 lcov 文件中的路径正确?

干杯。

4

1 回答 1

0

所以,我在github上发布了这个问题并得到了答案。解决方案是,使用“sed”手动编辑 lcov 输出。就我而言,该命令如下所示:

sed -i -- 's/SF:$oldName$\/\(.*\)/SF:$newName$\/$newPath$\/\1.js/' lcov.dat
于 2016-05-24T16:15:59.980 回答