来看一个例子,怎么使用 Istanbul 。下面是脚本文件 simple.js 。 ~~~ var a = 1; var b = 1; if ((a + b) > 2) { console.log('more than two'); } ~~~ 使用 istanbul cover 命令,就能得到覆盖率。 ~~~ $ istanbul cover simple.js ~~~ ===== Coverage summary ===== ~~~ Statements : 75% ( 3/4 ) Branches : 50% ( 1/2 ) Functions : 100% ( 0/0 ) Lines : 75% ( 3/4 ) ~~~ ============================= 返回结果显示,simple.js 有4个语句(statement),执行了3个;有2个分支(branch),执行了1个;有0个函数,调用了0个;有4行代码,执行了3行。 这条命令同时还生成了一个 coverage 子目录,其中的 coverage.json 文件包含覆盖率的原始数据,coverage/lcov-report 是可以在浏览器打开的覆盖率报告,其中有详细信息,到底哪些代码没有覆盖到。 ![](http://image.beekka.com/blog/2015/bg2015060703.png)