音の鳴るブログ

鳴らないこともある

mocha + istanbul + grunt でカバレッジレポート

カバレッジレポートを出すのに何か最新の方法ないかなーと調べていたら istanbul というのを見つけた。

Istanbul

使い方は簡単でこんな感じ。

$ npm install -g istanbul
$ istanbul cover test-runner.js

オプションを指定しない場合、テキストのサマリーと coverage というフォルダにHTMLのレポートが作成される。

でもちょっと問題があって、僕は a.js のテストを同じディレクトリの a_test.js に書いているのだけど、この場合テストファイルも集計に加えられてしまっていた。テストファイルはだいたいカバレッジ100%なので高い結果が出てきてしまう。あと、最近の僕は何をするにも grunt ばっかり使っていて、カバレッジレポートの作成も grunt でやりたいと思った。オプションでどうにかなるのかも知れないけど。

それで、istanbul の cli のコードをチラ見して簡単なgruntのタスクにしたのが以下です。

istanbul + mocha + grunt