用coverageas跑测试,可以跑成功但是不显示覆盖率
正文还需要三十字符,这么什么老谭设定
测试覆盖率是衡量测试质量的主要标准之一,含义是当前测试对于源代码的执行覆盖程度。在 karma
中使用 karma-coverage
插件即可输出测试覆盖率,插件底层使用的是 istanbul。
~/test-demo $ npm i karma-coverage -D
修改 karma.conf.js
文件:
preprocessors: {
'../src/utils.js': ['coverage'],
'./specs/utils.spec.js': ['espower']
},
reporters: ['spec', 'coverage'],
coverageReporter: {
dir: './coverage', // 覆盖率结果文件放在 test/coverage 文件夹中
reporters: [
{ type: 'lcov', subdir: '.' },
{ type: 'text-summary' }
]
},
再次运行测试命令,在最后会输出测试覆盖率信息
=============================== Coverage summary ===============================
Statements : 100% ( 2/2 )
Branches : 100% ( 0/0 )
Functions : 100% ( 1/1 )
Lines : 100% ( 2/2 )
================================================================================
打开 test/coverage/lcov-report/index.html
网页可以看到详细数据