代码覆盖率

介绍

代码覆盖率是软件测试中一种度量,就是指在测试的时候已经被测试过了的代码占准备被测试总代码量的比例和程度。简单说就是判断是否所有代码都被测试到了

它有四个测量的维度:

  1. 行覆盖率(line coverage):被测试程序的每一行代码被执行/测试的比例;
  2. 函数覆盖率(function coverage):被测试程序的函数被执行的比例;
  3. 分支覆盖率(branch coverage):被测试程序的可判定的分支被测试的比例;
  4. 语句覆盖率(statement coverage):被测试程序的可执行语句被执行/测试的比例;

必须要注意的是:

1
代码覆盖率只能告诉开发者还有哪些代码没有被测试到,却不能确定测试的质量!!!

Node.js 中的代码覆盖率工具 - Istanbul

这里不详述 Istanbul 的配置使用方法,详见下面两篇博客

  1. How to add an Istanbul code coverage badge to your GitHub repository
  2. Node + Mocha + Travis + Istanbul + Coveralls: Unit tests & coverage for your open source project

两篇博客很像,可以相互参考

注意点:如果你安装了 0.4.5 版本的 Istanbul,那么你可能会出现 No coverage information was collected 这个错误,请更换至 1.1.0-alpha.1 版本的 Istanbul 即可。

其他错误有的话可以参考下这篇博客 How to check ES6 code coverage via istanbul and mocha,这里列举了一些错误,里面没有提及的只有自行 google 了。

参考

  1. 代码覆盖率工具 Istanbul 入门教程:阮一峰出品:介绍了 Istanbul 的基本使用,看看就好。
  2. 代码覆盖率浅谈
文章目录
  1. 介绍
  2. Node.js 中的代码覆盖率工具 - Istanbul
  3. 参考
|