Istanbulとnodeunit

Istanbulはよく使っていたのだけど、直接叩くことはなかった。初めてこれ単体でnodeunitと組み合わせて使おうかと、node_modules/.bin/nodeunitを引数に指定して実行してもうまく動かなかった。どうやらnodeunitパッケージ内のbin/nodeunitを指定しないとダメらしい。

プロジェクト・ローカルにインストールしたnodeunitを使う場合、node_modules/.bin/nodeunitを叩いて実行する。

$ ./node_modules/.bin/nodeunit test

これをIstanbulでラップしてコード・カバレッジを調べたい場合、

$ istanbul cover node_modules/nodeunit/bin/nodeunit -- test

というようにnpmが作成するラッパーではなく、nodeunitパッケージに含まれるスクリプトを直接叩くようにしてやらないと上手く動かないようだ。


Istanbulでnodeunitを使ってCSS MQPackerのコード・カバレッジを調査した結果
100% Code Coverage

ということでCSSWringとCSS MQPackerはめでたくカバレッジ100%に到達した。CSSWringでは再現できないバグのところを一つ無視させてるけど。