如何更改Karma执行的LCOV报告的格式
How to change the format of the LCOV report executed by Karma?
我已经配置Karma来报告我的JavaScript代码的覆盖率。以下是karma.conf.js
文件中的配置部分:
coverageReporter: {
reporters: [
{
type: 'html',
dir: 'build/karma/coverage'
},
{
type: 'lcov',
dir: 'build/karma/coverage',
subdir: '.'
},
{
type: 'cobertura',
dir: 'build/karma/coverage'
}
]
},
我的lcov.info
文件具有以下格式:
TN:
SF:./app/scripts/app.js
FN:16,(anonymous_1)
FN:26,(anonymous_2)
FNF:2
FNH:1
FNDA:1,(anonymous_1)
FNDA:0,(anonymous_2)
DA:2,1
DA:20,1
DA:29,0
DA:34,0
LF:4
LH:2
BRF:0
BRH:0
end_of_record
不幸的是,Sonarqube JavaScript插件只考虑以SF:
、DA:
或BRDA:
开头的行(参见LCOVParser)。
因此,在相同的数据上,LCOV HTML报告(由伊斯坦布尔制作)给了我比Sonar更高的代码覆盖率。
有没有办法更改生成的lcov.info
的格式?
如果我查看伊斯坦布尔代码,我可以想象不同标签的含义:
BRF
、BRH
、BRDA
用于分支FN
、FNF
、FNH
、FNDA
用于函数LN
、LF
、LH
用于行*F
是总数,而*H
是覆盖的信息
伊斯坦布尔和声纳覆盖范围之间的差异似乎是由于后者完全忽略了功能和分支覆盖范围。
有解决这个问题的办法吗?
您可以运行这样一个脚本:cat lcov.info | egrep "^(SF|DA|BRDA):" > lcov.info.new; mv lcov.info.new lcov.info
。
我得到了:
SF:./app/scripts/app.js
DA:2,1
DA:20,1
DA:29,0
DA:34,0
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 更改angularjs中的日期-时间格式
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- 我能得到正确的格式吗
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 将日期和时间转换为UTC格式的日期-Javascript
- Javascript格式UTC日期
- 元素的内容必须由格式正确的字符数据或标记组成
- Datetime格式为Friendly Time.Moment JS输出错误
- 将客户端特定的日期格式返回到服务器MVC4
- 将数字四舍五入到小数点后两位,以设置货币格式
- javascript/jquery将utc转换为短格式的本地时间
- JavaScript生成html格式的密码
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 如何更改Karma执行的LCOV报告的格式