高橋です。
> 佃です。
:
> 石井さんの記事の「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/