我有一个带有一些测试的 Angular 项目。我的构建是用 Gulp 编写的。我使用 Karma 运行测试并生成 lcov 报告。
然后我使用 gulp-sonar 插件来运行 Sonar。我的声纳配置如下所示:
"sonar": {
"host": {
"url": "http://mysonar.example.com.au"
},
"projectKey": "sonar:advertising-test",
"projectName": "advertising-test",
"projectVersion": "1.0.0",
"sources": "app/js",
"javascript": {
"lcov": {
"reportPath": "reports/coverage/lcov.info"
}
},
"exec": {
"maxBuffer": "1048576"
}
}
Sonar 运行并分析代码,但在尝试使用以下内容读取 lcov 报告时失败:
[09:38:58] 09:38:58.322 WARN - Problem during processing LCOV report: can't save DA data for line 0.
java.lang.IllegalArgumentException: Line with number 0 doesn't belong to file app/js/main.js
...
[09:38:58] 09:38:58.324 WARN - Problem during processing LCOV report: can't save DA data for line 65.
java.lang.IllegalArgumentException: Line with number 65 doesn't belong to file app/js/constants.js
对于我拥有的几乎每个 js 文件,依此类推。
如果我生成一个 html 覆盖率报告,那么该报告看起来不错,因此似乎该报告正在正确生成。
我想知道这是否是由我使用的 karma-browserify 步骤引起的。
有人可以帮助我的 lcov 报告错误吗?
有没有人设法获得与 karma 和 browserify 一起使用的 lcov 覆盖率报告?