2007年05月09日
JsUnit
JavaScript用の単体テストフレームワーク、さっそく調べてみると、JsUnitが見つかりました。おなじみのJUnit.org系列です。
日本語のドキュメントとしては、NRIのオブジェクトワークス | オープンソースドキュメントの「[PDF]jsUnit利用ガイド」 が優れています。(PDFファイルへの直接リンクは避けておきます)
JsUnitなかなか良いです。
ひとつだけハマりました。私のミスなんですが、テストケース内でJsUnitのライブラリjsUnitCore.jsを読むときのURLを間違うと、テストがタイムアウトする動きになります。どうしてなのか理由がわからず、しばらく悩みました。
何もせずにタイムアウトする時は、テストケースを書くHTML(もしくはHTMLをレンダリングする、アプリケーションのソース)内のJavaScriptの読み込みパスをチェックしましょう。
JavaScripのUnitTest
仕事でJavaScriptのコードを書くことが増えてきたのだが、単体テストが大変な気がする。
Java生活が長かったので、全部をUnitTestしまくるUnitTestジャンキーほどではないにしても、ライブラリ的に何度も呼ばれるメソッドについては、厳重に境界テストを含めたUnitTestを書く癖が付いてる。
これが気軽に出来るのはEclipseとJUnitのおかげだったのだが、さて最近は仕事ではPHP、JavaScriptを書くことが多い。特にPHPは元々あるコードへの追加修正が主で、その上、元の作りがアレな事もあり、メソッドレベルの単体テストを殆どやっていない。というかメソッド(関数化)されてたらラッキー。グローバルな異存関係がありすぎてリファクタリングも大変といった有様。
JavaScriptに関しては、これからという感じなのが幸いして、まだ手の打ちようがありそうだ。そこでJavaScriptのJUnitみたいなのが欲しい。今日は、もう眠いので探すのは明日ですが(笑)



