鈴木@名古屋です。
開発に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