javascript + mocha でカバレッジ測定をするには istanbul のラッパー nyc を使う for Windows
javascript + mocha でカバレッジ測定したい場合、「 istanbul を使うといいよ」という情報が多いが、情報が古いのか、成功しなかった。
手順
$ cd (mochaを使ってるprojectのディレクトリ) $ npm install nyc $ .\node_modules\.bin\nyc --reporter=html mocha test.js
終わったら coverage\index.html をブラウザで開く。
注意点
全体的にマシンパワーを容赦なく使うため重い。メモリ 4GB の Intel(R) Core(TM) 2 Duo E8400 3.0GHz だと少々辛く、unittest みたいに細かいタイミングで実行するのが憚られるレベル。
- nyc のインストールが完了するまでかなり重い
- nyc 実行中もかなり重い
- coverage\index.html から見る結果ページもかなり重い
- 900KB ある js ファイルを見ようとしたら firefox がフリーズした
(参考) 古いやり方
最初調べていた時は以下のように istanbul cover
コマンドを使う情報が多かった。
$ npm install istanbul $ .\node_modules\.bin\istanbul cover --print mocha test.js
が、これだと ReferenceError: describe is not defined
が出てしまう。他にも
など色んな派生パターンがあって、全部試したけどダメだった。