Karma: 3 - 测试覆盖率
karma 的插件 karma-coverage 提供了测试代码覆盖率的支持。
karma 的页面:http://karma-runner.github.io/0.8/config/coverage.html 进行了说明。karma 使用 Istanbul.实现覆盖率统计。
首先你需要安装这个 Karma 插件,然后需要在配置文件的三个地方进行配置。
安装 karma-coverage
当然了,你必须安装这个组件才能完成覆盖率统计。可以看到,在安装这个插件的时候,已经安装了 Istanbul 。
npm i -D karma-coverage ├─┬ karma@0.13.21 │ ├─┬ log4js@0.6.31 │ │ └── semver@4.3.6 │ └─┬ optimist@0.6.1 │ ├── minimist@0.0.10 │ └── wordwrap@0.0.3 └─┬ karma-coverage@0.5.3 ├─┬ dateformat@1.0.12 │ └─┬ meow@3.7.0 │ ├── minimist@1.2.0 │ └─┬ normalize-package-data@2.3.5 │ └── semver@5.1.0 └─┬ istanbul@0.4.2 ├─┬ escodegen@1.7.1 │ └─┬ optionator@0.5.0 │ └── wordwrap@0.0.3 └── wordwrap@1.0.0
配置
涉及三个配置信息,两个是必须的,一个是可选的。
配置预处理器
这里配置哪些文件需要统计测试覆盖率,例如,如果你的所有代码文件都在 lib 文件夹中,你就需要如下配置。
preprocessors = { '**/lib/*.js': 'coverage' };
注意不要包含你所依赖的库,测试文件等等,下面就是一个错误的配置信息。
files = [ JASMINE, JASMINE_ADAPTER, 'lib/*.js', 'test/*.js' ]; preprocessors = { '**/*.js': 'coverage' };
配置报告
在配置文件中包含下面的信息来激活覆盖率报告器。
reporters = ['coverage'];
这样将会对每个浏览器创建一个覆盖率报告,另外,它还会创建一个 Json 文件,其中包含输出的中间数据。
配置报告选项
默认的报告格式如下:
coverageReporter = { type : 'html', dir : 'coverage/' }
type 是一个字符串值,取值可以是:
html
(default)lcov
(lcov and html)lcovonly
text
text-summary
cobertura
(xml format supported by Jenkins)
dir 则用来配置报告的输出目录。如果是一个相对路径的话,将相对与 basePath 参数。
如果类型是 text 或者 text-summary,你可以配置 file 参数来指定保存的文件名。
coverageReporter = { type : 'text', dir : 'coverage/', file : 'coverage.txt' }
如果没有文件名,就会输出到控制台。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2012-02-29 通过标准的 ASP.NET 控件来使用 jQuery UI