Mocha JS单元测试 覆盖率
简单使用步骤
项目基于npm
安装
nyc
npm i nyc --save-dev
-
更新编辑
package.json
{ "scripts": { "test": "nyc --reporter=text mocha" } }
run
npm test
-
运行结果:
自定义选项
- Html 报告
- 报告格式
- 不要复写npm的test
- 如果测试率太低,强制测试失败
1. Html 报告
- 修改
package.json
里的test
nyc --reporter=html
- 报告会在文件夹
coverage/index.html
2. 报告格式
- 更多有用参考官网github
- 例如使用
nyc --reporter=html --reporter=text
我们可以同时有text与html覆盖率报告
3. 不要复写npm的test
当你不需要每次跑test的时候都显示覆盖率,那就不要复写test
-
提倡的方法是自定义方法
{ "scripts": { "test": "mocha", "test-with-coverage": "nyc --reporter=text mocha" } }
当你想跑覆盖率的时候使用
npm run test-with-coverage
4. 如果测试率太低,强制测试失败
- 当全部代码覆盖率低于90%时失败
nyc --check-coverage --lines 90
- 只要一个测试文件代码覆盖率低于90%时失败
nyc --check-coverage --lines 90 --per-file