mof-brown

ずっとモフモフしてたい

JSCover で Jasmine テストのカバレッジを計測する

最近 Jasmine を使って JS テストを書き始めているのですが、指標の1つとしてコード・カバレッジを計測したいと思い、JSCover を使ってみました。

JSCover (※ JSCoverage を改良したツールのようです)

HTML から実行可能な Jasmine テストの準備

まだまだテストが積めてない・・・(´・ω・`)

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

JSCover からの Jasmine 実行結果

カバレッジの確認

テスト実行後に Summary タブを表示すると、カバレッジが表示されます。

各ファイルのリンクから、到達したパスの情報や、未到達のブランチの情報を確認することができます。

JSCover カバレッジサマリー画面

これで、用意したテストがどの程度カバーできているかの指標が取れそうです。