まだ本格的なWebアプリケーションを作り込んだことがないので、JavaScriptのユニットテストを必要としたことはないのだが、jQueryやMooToolsなどのJavaScriptフレームワークの利用が進んでいる昨今では間もなくJavaScriptにも適切なテストを行うべきかもしれない。

ピクチャ 2.png

キャプチャ状況

 

キャプチャしたデータ

 

テストの基本となるものとしてユニットテストが有名だ。JavaScriptの場合、実行エンジンが各ブラウザに依存するのが難点だが、JsTestDriverを使えばブラウザを越えたテストができるようになる。

今回紹介するオープンソース・ソフトウェアはJsTestDriver、JavaScriptのテストフレームワークだ。

JsTestDriverはサーバとして動作するソフトウェアで、指定したディレクトリにあるJavaScrptファイルとそのユニットテストファイルを読み込む。そして指定したポート(例えば9876など)でWebサーバを立ち上げるので、各ブラウザでそこにアクセスし、/captureでテストを実行する。

ピクチャ 4.png

結果の取得(公式サイトの動画より)

 

テスト結果は「java -jar JsTestDriver.jar –tests all」というコマンドでJSON形式で得られる(筆者の環境ではJSONのパースに失敗する)。Webサーバとしてユニットテストを実行するので、IE/Firefox/Safari/Chrome/Operaなど幅広いブラウザがサービス対象となっている。

単体で使っても良いが、Eclipseと組み合わせて使うこともできる。JavaのWebシステム開発であればプラグインとして組み合わせることで簡単にサービスを立ち上げ、結果を得られるようになる。大型のWebアプリケーション開発の際にはぜひ使いたいソフトウェアだ。

 

js-test-driver - Project Hosting on Google Code

 http://code.google.com/p/js-test-driver/