2011年9月17日土曜日

Simple@高円寺、Qunitなど

いつものSimple勉強会。今日は高円寺にて。
まったりとスタート。

◆QUnitでユニットテスト

Cena-DTAのJavaScriptのユニットテストをするためにQUnitを使ってみた。
http://docs.jquery.com/Qunit

テストコードを作るのはとても簡単。

非同期(asynchronous)の場合のテストもできる。
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/

「QUnit asynchronous」でググって最初のページだけど。
疑似コードは:

test( "asynchronous test sample", function() {
  stop(); // テストを一旦止める
  async( callback_func );
    var callback_func = function() {
      start(); // テスト再開
      ok( true );
    }
{);

・時間の読めない関数(async)を呼ぶ前に、一旦テストをstop、
・コールバック関数で、実際に実行される箇所で、テストstart、
・それからテスト条件を書く、
という感じ。

面倒な点といえば・・・
テストしたいのがDOMに正しく書かれたかどうかのため、テストの設定が大変だった。また書かれた内容をjQueryで読み込んでとかも面倒。

これはQUnitが原因ではなくて、おしなべてJavaScript全般にいえることでしょう。

◆もっとテストを

結構、テスト書くのは大変です。
どの機能を、どうやってテストしたらいいのか、考えるだけでも時間がかかってます。先にテストを考えてから作るといいんですかね?

それって、ボトムアップみたいな開発ならできそうなのですが、トップダウンで作ってるとき(つまり試行錯誤しながらクラス設計する場合)後回しにしてしまいそう。いや、後回しにして、後でテスト足りなくて困るという・・・

0 件のコメント: