JSCoverage
- HTML5 APIs
- UI ライブラリ
- テスト支援
- ドキュメント
- コード品質ツール
- バリデータ
- キー入力支援
- テストダブル
- ハイブリッドアプリケーション
- 継続的インテグレーション
JavaScriptのコード実行カバレッジを計測するツールJSCoverageに関する情報を載せていきます。
ここでは、JSCoverageサーバの使用方法について記述しています。
JSCoverage概要
- 計測したいJSソースファイルに事前にインストルメント処理を行います。
- コードの各行ごとに「この行を通過した」ことを記録するコードが挿入されます。
- 処理を行ったJSを実行すると結果が特定のオブジェクトに保存されます。
- 3項演算子を使うと全体で1行とみなされます(制限事項)
- ダウンロードはこちらから:JSCoverage
結果のサーバ出力
JSCoverageサーバを立ち上げてカバレッジを計測すると、その計測結果をサーバへ送ることができます。送られた実行結果はマージした状態で見られるので、複数のブラウザでの実行結果をマージしたカバレッジを見ることができます。
サーバへファイルを配置
結果をサーバ出力するためには、カバレッジ計測を行うソースフォルダをJSCoverageサーバ上に置く必要があります。
サーバ版を使わない場合と同様で、jscoverage.exeを使って、出力位置をJSCoverageサーバのルート内に指定します。
set server=.\server
jscoverage --encoding=UTF-8 %server%\qunitTestOrg %server%\inst
JSCoverageサーバの起動
ダウンロードしたjscoverage-server.exeを実行すると、JSCoverage用のサーバが立ち上がります。
- 起動例
jscoverage-server.exe --verbose --port=8000 --report-dir=report
サーバが起動すると、コマンドプロンプトが立ち上がります。
以下、起動時の主要なオプションの説明です。
--verbose , -v
指定すると、コマンドプロンプトに、アクセスログを出力します。
--document-root=PATH
サーバのルートとなるパスを設定します。デフォルトはカレントディレクトリ。
--no-instrument=URL
指定したURL以下にあるjsファイルのカバレッジを計測しないようにします。
--ip-address=ADDRESS
指定したIPアドレスで起動します。デフォルトは127.0.0.1。
--port=PORT
JSCoverageサーバを指定したポートで立ち上げます。デフォルトは8080。Tomcatと同時に立ち上げる場合は、ポート番号が被らないように設定します。
--report-dir=PATH
マージ結果を出力するフォルダパスを指定します。デフォルトは"jscoverage-report"ですが、URL中に"-"があるとJSCoverageサーバからアクセスできないことがあります(詳しい条件は未確認)ので、"-"のないパスを設定した方が無難です。
テスト実行方法
サーバを起動したら、http:localhost:8000/jscoverage.html にアクセスできます。(IPアドレス、ポートは起動時設定によります。)
通常のJSCoverage版と同様に、この画面からカバレッジ計測を行うURLを指定します。ここに指定するURLはJSCoverageサーバ内でなければなりません。そのためカバレッジを計測したいファイルは全てサーバへ配置する必要があります。
通常のJSCoverageページと違い、サーバ版には"Store"タブがあります。カバレッジの計測を行ったら、このタブから"Stroe Report"ボタンをクリックして結果をサーバに送ることができます。
結果の取得(閲覧)方法
サーバへ送信した結果は、http:localhost:8000/report/jscoverage.html から見ることができます。(--report-dirの設定によります。)
サーバへ送信された複数のカバレッジ計測結果をマージした結果が表示されます。
集計結果のリセット
reportフォルダをフォルダごと削除すれば結果がリセットされます。
サーバの停止
jscoverage-server --shutdown --port=8000
起動しているサーバのポートを指定する必要があります。