JSCover で Jasmine テストのカバレッジを計測する
最近 Jasmine を使って JS テストを書き始めているのですが、指標の1つとしてコード・カバレッジを計測したいと思い、JSCover を使ってみました。
JSCover (※ JSCoverage を改良したツールのようです)
HTML から実行可能な Jasmine テストの準備
まだまだテストが積めてない・・・(´・ω・`)
JSCover をダウンロード
http://tntim96.github.com/JSCover/
JSCover を起動
以下のコマンドを実行して JSCover を起動します。
jar ファイルのパス、document.root に指定するパスは環境に合わせて適宜変更します。
ファイル・エンコーディングに合わせて -Dfile.encoding=UTF-8 を指定しておきます。
[shell]
java -Dfile.encoding=UTF-8 -jar JSCover-0.2.0/target/dist/JSCover-all.jar -ws --branch --document-root=..
[/shell]
JSCover 経由でテストを実行
ブラウザで以下の URL にアクセスすると、JSCover の画面が表示されます。
http://localhost:8080/jscoverage.html
Browser の URL タブに Jasmine テストのURLを貼り付けるか、
アクセスURLに以下のようにパラメータとして渡すとテストが実行されます。
http://localhost:8080/jscoverage.html?js/test/SpecRunner.html
カバレッジの確認
テスト実行後に Summary タブを表示すると、カバレッジが表示されます。
各ファイルのリンクから、到達したパスの情報や、未到達のブランチの情報を確認することができます。
これで、用意したテストがどの程度カバーできているかの指標が取れそうです。