Index: [Article Count Order] [Thread]

Date:  Mon, 18 Dec 2000 12:25:24 +0900
From:  Toru TAKAHASHI <tooru6.takahashi@....jp>
Subject:  [XP-jp:01347] Re: テスティングフレームワークの  suite メソッド
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <200012180325.MAA21549@....jp>
In-Reply-To:  <3A39BD21.36F2B839@....jp>
References:  <3A39BD21.36F2B839@....jp>
Posted:  Mon, 18 Dec 2000 12:25:05 +0900
X-Mail-Count: 01347

高橋です。

> 佃です。
:
> 石井さんの記事の「TestRunnerの使い方」の章に「suiteクラスメ
> ソッドが必要」と書いていますが、MoneyTestクラスやSimpleTest
> クラスにはsuiteクラスメソッドが見当たりません。
TestRunnerは、渡されたクラス名のクラスをロードしてからsuiteと
いう名前のメソッドがあるかチェックしています。見つからないとき
は、TestSuiteインスタンスをTestRunnerでnewしています。
TestRunner#startメソッドから抜粋
    try {
        suiteMethod= testClass.getMethod("suite", new Class[0]);
    } catch(Exception e) {
        // try to extract a test suite automatically
        suite= new TestSuite(testClass);
    }
どのバージョンから上記コードが加わったか分かりませんが、最近かも
しれません。JUnitの付属ドキュメントは、テストケースにsuiteメソッド
を記述している例ですから。

単一クラスのテストケースを書いている場合はsuiteメソッドを記述
しなくてもこの仕組みで実行できます。複数のテストケースを一度に
実行する場合、suiteを自前で記述する必要があります。
JUnitに関する自分用のメモですが、下記URLに書いています。
よろしければご参考下さい。
http://www.alles.or.jp/~torutk/oojava/maneuver/2000/6-3.html

JUnitの詳しい書き方・応用について解説された「JUnit Primer」という
Webページ(英語)を見つけました。
http://www.clarkware.com/articles/JUnitPrimer.html
JUnitの解説の他、負荷テスト向け拡張についても書かれています。
(タイムアウト付きメソッドテスト、複数クライアントからのアクセス
 など)


======------======------======
Toru Takahashi,  TOSHIBA Corps. KOMUKAI Works
(office)tooru6.takahashi@....jp
(private)torutk@....jp
         http://www.alles.or.jp/~torutk/