Index: [Article Count Order] [Thread]

Date:  Sat, 16 Dec 2000 20:42:27 +0900
From:  窪田寛之 <kangol@....com>
Subject:  [XP-jp:01344] Re: Web 	での機能テストに関して
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <B6618429.38A9%kangol@....com>
In-Reply-To:  <NEBBLCBLMJKDLAMIAMIGKELECOAA.mishii@....jp>
Posted:  Sat, 16 Dec 2000 20:42:17 +0900
X-Mail-Count: 01344

こんばんわ。
テクノロジックアートの窪田です。

>> エミュレータゆえにブラウザの違いとか見え方とかがテストできない
>> のは確かに残念ですが、JSUnitを使うことでJavaScriptの単体テスト
>> は可能です。先日の「WebObjects〜」では使う機会が無かったですが、
>> これもかなり使えると思います。
> 
> JSUnit はまだ使ったことが無いのですが,具体的にどんなテストが
> 可能なのでしょうか?
> 
> 例えば,ボタンを押すと Javascript の confirm が出て,「はい」を押し
> たら submit ,「いいえ」を押したらそのまま,というようなことがテスト
> できるのでしょうか?
> 
> もしよかったら使ってみたいと思いますので,よろしければ教えてください.

レスが遅くてごめんなさい。
テスト対象となる「myscript.js」と「jsUnitCore.js」を共に読み込んだHTMLを
用意し、その中でテストを記述することになります。

例:myscript中の月の範囲チェックしtrueかfalseを返す関数「checkMonth(nMonth)」

function testMonthNormal() {
  assertEquals(checkMonth(1),true);
  assertEquals(checkMonth(12),true);
}

function testMonthFailure() {
  assertEquals(checkMonth(0),false);
  assertEquals(checkMonth(13),false);
}

そのHTMLをJSUnitのTestRunnerから呼ぶことでテストを自動実行して
くれます。

基本的に用途はJUnitと同じような単体テストです。関数の結果として、
期待値と実際の値の比較を行うものです。
Javascriptのconfirmのボタンを自動でsubmitを選ぶいった機能は
ないと思います。
むしろ、どちらかを選んだ前提で呼ばれる関数のテストをすること
になるのではと思います。

まだ使い慣れていないため、間違い等があったら指摘をお願いします。

    __________________________________
             Hiroyuki Kubota
    __________________________________
      http://homepage.mac.com/kangol
          mailto:kangol@....com
          kubota@....jp
    __________________________________