在sonarqube中获取emberjs代码覆盖率



iam正在尝试将ember插件项目中的代码覆盖率添加到sonarqube中。CodeCoverage是使用ember cli blanket创建的。可以由SonarQube runner导入的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

作业配置为在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文件中报告的路径上找不到文件。

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

欢呼。

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

sed -i -- 's/SF:$oldName$/(.*)/SF:$newName$/$newPath$/1.js/' lcov.dat

相关内容

  • 没有找到相关文章

最新更新