OPEN SOURCE LABORATORY

投稿日:2009年8月9日 -投稿者 ohyanagi

JavaScript で TDD

暑い日が続きますね。中の人です。

今回はちょっと趣旨を変えてクライアントサイドのお話。
最近 JavaScript を多少書く事があり、だだーっとロジックを書いておしまいにしていました。
というのもサーバサイドと異なりボタンを押したら等のテストコードを書く方法が良く分からなかったためです。
書き捨てのスクリプトならいざしらず、JavaScript もきちんとテストしなくてはダメですね。
ということでやり方を少し調べてみました。


JavaScript のテスティングフレームワークは様々あるようです。

http://journal.mycom.co.jp/news/2009/07/06/028/index.html
今回は jQuery 自体のティスティングフレームワークとして使用されている QUnit を試してみました。
Qunit 自体は Perl の Test::More や symfony の lime のように書きます。
http://docs.jquery.com/QUnit
以下のサイトからテストランナーの js ファイルとテスト結果を整形して表示する css ファイルをダウンロードし、読み込みます。
http://view.jquery.com/trunk/qunit/testrunner.js
http://view.jquery.com/trunk/qunit/testsuite.css

<script type=”text/javascript”>

  test(‘Test 1′, function() {

      var msg = ‘Hello World’;

      equals(msg, ‘Hello World’, ‘msg should be Hello World’);

  });  

</script>

こんな感じで書いて、ブラウザからテストを書いた html にアクセスすると自動的にテストコードが走り、結果を表示します。

QUnit のドキュメントのページに例として jQuery UI のライブラリのテストコードや、イベントのテストの書き方が載っているので、参考にしてみようと思います。