Index: [Article Count Order] [Thread]

Date:  Fri, 09 Nov 2001 13:57:54 +0900
From:  SUZUKI Toru <tsuzuki@....jp>
Subject:  [XP-jp:02771] Re: XP セミナーレポート
To:  extremeprogramming-jp@....jp
Message-Id:  <200111090457.AA00135@....jp>
In-Reply-To:  <m3adxwk9b9.wl@....jp>
References:  <m3adxwk9b9.wl@....jp>
X-Mail-Count: 02771

鈴木@名古屋です。

開発にJUnit, Cactusを使っています。

鈴木たかのり さんは書きました。

>このあたりの「普通どうすべき」はみなさん模索されているところなのでしょ
>うか?私自身「簡単ですっきりする」方法というものは見つかっていません。
>みなさんはどのように試験していますか? < Servlet/JSP

ServletもJSPもCactusを使っています。ModelはJUnitを使って、ViewとControlerは
Cactusと言う形にしています。

ただ、皆さんの言われているように、見た目のチェックはできないので、
そこは、JUnit + Cactusの試験が終わった後に、実際に動かして、試験
しています。Cactusで行うJSPのテストも見た目でなく、JSP内にある、
処理の試験に用いています。文字化けについても、Cactusである程度
まで試験できます。

Cactusは導入するのに、結構時間がかかりました。オンラインドキュメントを
かなり読み込んでやってみてもうまく動いてくれなくて、結局サンプルに
ついてきた、build.xmlファイルを少しずつ書き換えていって、やっと自分達
の試験に使えるようになりました。

>> また、モデルのテストできなかった部分(といっても大半ですが)は、
>> DBからデータを取得し、ファイルに出力するという処理なのですが、
>> 前処理でDBにデータを挿入するとか、後処理でファイルを読み込んで
>> 検証するとかいうようなテストケースを書くのが普通なのだろうかと
>> 思ったのですが、大変そうなのでしませんでした。
>> 普通はどうするものなのでしょうか?
>こういう処理は確に面倒ですけど、できるだけ行っていました。
>setup(), teardown() メソッドでテスト用データの書き込み/消去などをして
>いました。

うちも同様に、setup(), teardown()を使って、テストデータのローディング
や削除を行い、なるべくDBに入っているデータ状態に依存しないように試験を
行っています。

Servlet や JSP から DB に接続する Bean を呼び出している場合は、どうしても
試験が遅くなってしまうので、Mock Object(http://www.mockobjects.com/)を
利用するようにしたいなと考えています。そうすれば、DB のデータに依存しない
Servlet や JSP 内のテストは、できそうな気がしています。

きれいに、テストが通った時は結構気持ちがいいですね(^^)

テストが、1000ケース以上あるので、昼休みに自動で走らせています。昼休み後に
Xalanが生成したレポートを見るのが結構楽しみです。

>2人プロジェクトのときもペアプログラミングしていました。
>つまり、つねにその同じペアでプログラミングです。

ペアプログラミングしたいんですけどね。相手がのってくれないんですよ(^^;

---
鈴木 徹(Toru Suzuki)
MHIエアロスペースシステムズ株式会社(MASC)
E-mail  : tsuzuki@....jp